From 06bc352ded559a84716868d06fee84b1a603760c Mon Sep 17 00:00:00 2001 From: Nicko Guyer Date: Mon, 25 Oct 2021 16:40:54 -0400 Subject: [PATCH 1/2] Add GitHub action to build commits to main Signed-off-by: Nicko Guyer --- .github/workflows/docker_main.yml | 40 +++++++++++++++++++ .../{docker.yml => docker_release.yml} | 0 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/docker_main.yml rename .github/workflows/{docker.yml => docker_release.yml} (100%) diff --git a/.github/workflows/docker_main.yml b/.github/workflows/docker_main.yml new file mode 100644 index 0000000..ff691bd --- /dev/null +++ b/.github/workflows/docker_main.yml @@ -0,0 +1,40 @@ +name: Docker Main Build + +on: + push: + branches: + - main + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set build tag + id: build_tag_generator + run: | + RELEASE_TAG=$(curl https://api.github.com/repos/hyperledger/firefly-dataexchange-https/releases/latest -s | jq .tag_name -r) + BUILD_TAG=$RELEASE_TAG-$(date +"%Y%m%d")-$GITHUB_RUN_NUMBER + echo ::set-output name=BUILD_TAG::$BUILD_TAG + + - name: Build + run: | + docker build \ + --label commit=$GITHUB_SHA \ + --label build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \ + --label tag=${{ steps.build_tag_generator.outputs.BUILD_TAG }} \ + --tag ghcr.io/hyperledger/firefly-dataexchange-https:${{ steps.build_tag_generator.outputs.BUILD_TAG }} . + + - name: Tag release + run: docker tag ghcr.io/hyperledger/firefly-dataexchange-https:${{ steps.build_tag_generator.outputs.BUILD_TAG }} ghcr.io/hyperledger/firefly-dataexchange-https:head + + - name: Push docker image + run: | + echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin + docker push ghcr.io/hyperledger/firefly-dataexchange-https:${{ steps.build_tag_generator.outputs.BUILD_TAG }} + + - name: Push head tag + run: | + echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin + docker push ghcr.io/hyperledger/firefly-dataexchange-https:head \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker_release.yml similarity index 100% rename from .github/workflows/docker.yml rename to .github/workflows/docker_release.yml From 23c26fef7acbaee84d2f11ea6d0dc1b3256dc3de Mon Sep 17 00:00:00 2001 From: Nicko Guyer Date: Mon, 25 Oct 2021 16:43:34 -0400 Subject: [PATCH 2/2] Only tag latest on 'released' rather than 'published' Signed-off-by: Nicko Guyer --- .github/workflows/docker_release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker_release.yml b/.github/workflows/docker_release.yml index ad65990..172d63a 100644 --- a/.github/workflows/docker_release.yml +++ b/.github/workflows/docker_release.yml @@ -2,7 +2,7 @@ name: Docker on: release: - types: [published, prereleased] + types: [released, prereleased] jobs: docker: @@ -14,7 +14,7 @@ jobs: run: docker build -t ghcr.io/hyperledger/firefly-dataexchange-https:${GITHUB_REF##*/} . - name: Tag release - if: github.event.action == 'published' + if: github.event.action == 'released' run: docker tag ghcr.io/hyperledger/firefly-dataexchange-https:${GITHUB_REF##*/} ghcr.io/hyperledger/firefly-dataexchange-https:latest - name: Push docker image @@ -23,7 +23,7 @@ jobs: docker push ghcr.io/hyperledger/firefly-dataexchange-https:${GITHUB_REF##*/} - name: Push latest tag - if: github.event.action == 'published' + if: github.event.action == 'released' run: | echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin docker push ghcr.io/hyperledger/firefly-dataexchange-https:latest \ No newline at end of file