From 0d1a9f404443ee29c4ee57b7d3ad66a2cffc8f73 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 19:45:57 -0800 Subject: [PATCH 1/8] Testing release-triggered semver for rc from develop --- .github/workflows/develop_rc_release.yaml | 24 +++++++++++++++++++ .../workflows/scripts/develop_rc_release.sh | 17 +++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 .github/workflows/develop_rc_release.yaml create mode 100644 .github/workflows/scripts/develop_rc_release.sh diff --git a/.github/workflows/develop_rc_release.yaml b/.github/workflows/develop_rc_release.yaml new file mode 100644 index 00000000..fc5560ee --- /dev/null +++ b/.github/workflows/develop_rc_release.yaml @@ -0,0 +1,24 @@ +--- +name: Publish RC Image +'on': + release: + branches: + - develop + types: + - published +jobs: + docker_build: + runs-on: ubuntu-latest + steps: + - name: Check out GitHub Repo + with: + ref: "${{ github.event.pull_request.head.sha }}" + uses: actions/checkout@v2 + - name: Build and Push to Packages + env: + PR: "${{ github.event.pull_request.number }}" + SHA: "${{ github.event.pull_request.head.sha }}" + VER: "${{ github.event.release.tag_name }}" + DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}" + DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" + run: "./.github/workflows/scripts/develop_rc_release.sh\n" \ No newline at end of file diff --git a/.github/workflows/scripts/develop_rc_release.sh b/.github/workflows/scripts/develop_rc_release.sh new file mode 100644 index 00000000..4ff4f5a7 --- /dev/null +++ b/.github/workflows/scripts/develop_rc_release.sh @@ -0,0 +1,17 @@ +#! /usr/bin/env bash + +export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') +export MY_APP=$(echo $(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-develop") +export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export COMMIT=$(echo "$SHA" | cut -c -7) + +echo $DOCKER_TOKEN | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin +docker build --build-arg BUILD_DATE="$DATE" \ + --build-arg COMMIT="$COMMIT" \ + --build-arg BRANCH="$GITHUB_HEAD_REF" \ + --build-arg PULL_REQUEST="$PR" \ + --build-arg VERSION="$VER" \ + --label us.kbase.vcs-pull-req="$PR" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" . +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" From 50eae0ad72e7927e1c6a62ceb9c5b3cad27365a7 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 21:29:27 -0800 Subject: [PATCH 2/8] Adding execute bit to develop_rc_release.sh --- .github/workflows/scripts/develop_rc_release.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .github/workflows/scripts/develop_rc_release.sh diff --git a/.github/workflows/scripts/develop_rc_release.sh b/.github/workflows/scripts/develop_rc_release.sh old mode 100644 new mode 100755 From 23d4a8bcb0ce2ad123936f5b0ae33ccf66f78504 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 21:52:45 -0800 Subject: [PATCH 3/8] Testing full release-triggered semver --- ...tag_test_latest.yaml => prod_release.yaml} | 14 +++++----- .../workflows/scripts/develop_rc_release.sh | 5 ++-- .github/workflows/scripts/prod_release.sh | 18 +++++++++++++ .github/workflows/scripts/tag_prod_latest.sh | 12 --------- .github/workflows/scripts/tag_test_latest.sh | 12 --------- .github/workflows/tag_prod_latest.yaml | 27 ------------------- 6 files changed, 27 insertions(+), 61 deletions(-) rename .github/workflows/{tag_test_latest.yaml => prod_release.yaml} (60%) create mode 100755 .github/workflows/scripts/prod_release.sh delete mode 100755 .github/workflows/scripts/tag_prod_latest.sh delete mode 100755 .github/workflows/scripts/tag_test_latest.sh delete mode 100644 .github/workflows/tag_prod_latest.yaml diff --git a/.github/workflows/tag_test_latest.yaml b/.github/workflows/prod_release.yaml similarity index 60% rename from .github/workflows/tag_test_latest.yaml rename to .github/workflows/prod_release.yaml index d8cac465..848c4748 100644 --- a/.github/workflows/tag_test_latest.yaml +++ b/.github/workflows/prod_release.yaml @@ -1,26 +1,24 @@ --- -name: Tag Latest Test Image +name: Publish Release Image 'on': - pull_request: + release: branches: - develop types: - - closed + - published jobs: - docker_tag: + docker_build: runs-on: ubuntu-latest steps: - name: Check out GitHub Repo - if: github.event_name == 'pull_request' && github.event.action == 'closed' && - github.event.pull_request.merged == true with: ref: "${{ github.event.pull_request.head.sha }}" uses: actions/checkout@v2 - name: Build and Push to Packages - if: github.event.pull_request.draft == false env: PR: "${{ github.event.pull_request.number }}" SHA: "${{ github.event.pull_request.head.sha }}" + VER: "${{ github.event.release.tag_name }}" DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}" DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" - run: "./.github/workflows/scripts/tag_test_latest.sh\n" + run: "./.github/workflows/scripts/develop_rc_release.sh\n" \ No newline at end of file diff --git a/.github/workflows/scripts/develop_rc_release.sh b/.github/workflows/scripts/develop_rc_release.sh index 4ff4f5a7..6da6cc34 100755 --- a/.github/workflows/scripts/develop_rc_release.sh +++ b/.github/workflows/scripts/develop_rc_release.sh @@ -13,5 +13,6 @@ docker build --build-arg BUILD_DATE="$DATE" \ --build-arg PULL_REQUEST="$PR" \ --build-arg VERSION="$VER" \ --label us.kbase.vcs-pull-req="$PR" \ - -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" . -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" + -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ No newline at end of file diff --git a/.github/workflows/scripts/prod_release.sh b/.github/workflows/scripts/prod_release.sh new file mode 100755 index 00000000..bdd80770 --- /dev/null +++ b/.github/workflows/scripts/prod_release.sh @@ -0,0 +1,18 @@ +#! /usr/bin/env bash + +export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') +export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}') +export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export COMMIT=$(echo "$SHA" | cut -c -7) + +echo $DOCKER_TOKEN | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin +docker build --build-arg BUILD_DATE="$DATE" \ + --build-arg COMMIT="$COMMIT" \ + --build-arg BRANCH="$GITHUB_HEAD_REF" \ + --build-arg PULL_REQUEST="$PR" \ + --build-arg VERSION="$VER" \ + --label us.kbase.vcs-pull-req="$PR" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" diff --git a/.github/workflows/scripts/tag_prod_latest.sh b/.github/workflows/scripts/tag_prod_latest.sh deleted file mode 100755 index 1390fd16..00000000 --- a/.github/workflows/scripts/tag_prod_latest.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env bash - -export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') -export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}') -export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export COMMIT=$(echo "$SHA" | cut -c -7) - -docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io -docker pull ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" -docker tag ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" ghcr.io/"$MY_ORG"/"$MY_APP":"latest" -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" diff --git a/.github/workflows/scripts/tag_test_latest.sh b/.github/workflows/scripts/tag_test_latest.sh deleted file mode 100755 index c0dc504a..00000000 --- a/.github/workflows/scripts/tag_test_latest.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env bash - -export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') -export MY_APP=$(echo $(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-develop") -export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export COMMIT=$(echo "$SHA" | cut -c -7) - -docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io -docker pull ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" -docker tag ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" ghcr.io/"$MY_ORG"/"$MY_APP":"latest" -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" diff --git a/.github/workflows/tag_prod_latest.yaml b/.github/workflows/tag_prod_latest.yaml deleted file mode 100644 index 12b23df0..00000000 --- a/.github/workflows/tag_prod_latest.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Tag Prod Latest -'on': - pull_request: - branches: - - master - - main - types: - - closed -jobs: - docker_tag: - runs-on: ubuntu-latest - steps: - - name: Check out GitHub Repo - if: github.event_name == 'pull_request' && github.event.action == 'closed' && - github.event.pull_request.merged == true - with: - ref: "${{ github.event.pull_request.head.sha }}" - uses: actions/checkout@v2 - - name: Build and Push to Packages - if: github.event.pull_request.draft == false - env: - PR: "${{ github.event.pull_request.number }}" - SHA: "${{ github.event.pull_request.head.sha }}" - DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}" - DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" - run: "./.github/workflows/scripts/tag_prod_latest.sh\n" From f29baf4b707ccd6855688c136525ee3e12f65dae Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 21:55:18 -0800 Subject: [PATCH 4/8] Testing full release-triggered semver --- .github/workflows/prod_release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prod_release.yaml b/.github/workflows/prod_release.yaml index 848c4748..3b52d00f 100644 --- a/.github/workflows/prod_release.yaml +++ b/.github/workflows/prod_release.yaml @@ -21,4 +21,4 @@ jobs: VER: "${{ github.event.release.tag_name }}" DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}" DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" - run: "./.github/workflows/scripts/develop_rc_release.sh\n" \ No newline at end of file + run: "./.github/workflows/scripts/prod_release.sh\n" \ No newline at end of file From 3a0fa7f160865a42295dbda68e1a8dd8f2147542 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 22:01:42 -0800 Subject: [PATCH 5/8] Testing full release-triggered semver --- .github/workflows/prod_release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prod_release.yaml b/.github/workflows/prod_release.yaml index 3b52d00f..a8a538ab 100644 --- a/.github/workflows/prod_release.yaml +++ b/.github/workflows/prod_release.yaml @@ -3,7 +3,7 @@ name: Publish Release Image 'on': release: branches: - - develop + - master types: - published jobs: From 117a03b04cdf77732f77a12856ee236b48bf6a08 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 22:10:57 -0800 Subject: [PATCH 6/8] Testing full release-triggered semver --- .github/workflows/scripts/develop_rc_release.sh | 3 ++- .github/workflows/scripts/prod_release.sh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/develop_rc_release.sh b/.github/workflows/scripts/develop_rc_release.sh index 6da6cc34..44cd245e 100755 --- a/.github/workflows/scripts/develop_rc_release.sh +++ b/.github/workflows/scripts/develop_rc_release.sh @@ -15,4 +15,5 @@ docker build --build-arg BUILD_DATE="$DATE" \ --label us.kbase.vcs-pull-req="$PR" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ No newline at end of file +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" \ No newline at end of file diff --git a/.github/workflows/scripts/prod_release.sh b/.github/workflows/scripts/prod_release.sh index bdd80770..6d027265 100755 --- a/.github/workflows/scripts/prod_release.sh +++ b/.github/workflows/scripts/prod_release.sh @@ -16,3 +16,4 @@ docker build --build-arg BUILD_DATE="$DATE" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" From b47ef8ccb847a65480c1cadb5c0da8ee527e084a Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 22:13:02 -0800 Subject: [PATCH 7/8] Testing full release-triggered semver --- .github/workflows/scripts/develop_rc_release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scripts/develop_rc_release.sh b/.github/workflows/scripts/develop_rc_release.sh index 44cd245e..434a536f 100755 --- a/.github/workflows/scripts/develop_rc_release.sh +++ b/.github/workflows/scripts/develop_rc_release.sh @@ -16,4 +16,4 @@ docker build --build-arg BUILD_DATE="$DATE" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" \ No newline at end of file +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" From 7e03442eb6d6a9bd2b92f9e9164728691c2b54e6 Mon Sep 17 00:00:00 2001 From: Jason S Fillman Date: Tue, 22 Feb 2022 22:28:39 -0800 Subject: [PATCH 8/8] Testing full release-triggered semver --- .github/workflows/scripts/prod_release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scripts/prod_release.sh b/.github/workflows/scripts/prod_release.sh index 6d027265..a34f2e4e 100755 --- a/.github/workflows/scripts/prod_release.sh +++ b/.github/workflows/scripts/prod_release.sh @@ -13,7 +13,7 @@ docker build --build-arg BUILD_DATE="$DATE" \ --build-arg PULL_REQUEST="$PR" \ --build-arg VERSION="$VER" \ --label us.kbase.vcs-pull-req="$PR" \ - -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER" \ -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER""-rc" +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER" docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest"