From bf48d0b14ea36b68104b86259ca3ae29ba5d3355 Mon Sep 17 00:00:00 2001 From: Robert Adam Date: Sat, 7 May 2022 20:23:11 +0200 Subject: [PATCH 1/2] CI: Add flag for updating latest tag --- .github/workflows/build_and_publish.yml | 13 ++++++++++++- .github/workflows/ci.yml | 2 ++ .github/workflows/manual_dispatch.yml | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish.yml b/.github/workflows/build_and_publish.yml index da77992..ff78b69 100644 --- a/.github/workflows/build_and_publish.yml +++ b/.github/workflows/build_and_publish.yml @@ -15,6 +15,9 @@ on: publish: required: true type: boolean + update_latest: + required: true + type: boolean jobs: build: @@ -35,6 +38,14 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Configure target tags (with latest) + if: ${{ inputs.update_latest }} + run: echo "TAGS=mumblevoip/mumble-server:latest, mumblevoip/mumble-server:${{ inputs.mumble_version }}, mumblevoip/mumble-server:${{ inputs.mumble_version }}-${{ inputs.docker_version }}" >> $GITHUB_ENV + + - name: Configure target tags (without latest) + if: ${{ ! inputs.update_latest }} + run: echo "TAGS=mumblevoip/mumble-server:${{ inputs.mumble_version }}, mumblevoip/mumble-server:${{ inputs.mumble_version }}-${{ inputs.docker_version }}" >> $GITHUB_ENV - name: Build and push uses: docker/build-push-action@v2 @@ -44,6 +55,6 @@ jobs: push: ${{ inputs.publish }} build-args: | MUMBLE_VERSION=${{ inputs.mumble_version }} - tags: mumblevoip/mumble-server:latest, mumblevoip/mumble-server:${{ inputs.mumble_version }}, mumblevoip/mumble-server:${{ inputs.mumble_version }}-${{ inputs.docker_version }} + tags: ${{ env.TAGS }} env: MUMBLE_VERSION: ${{ inputs.mumble_version }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ba044e..cbc5c2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,7 @@ jobs: mumble_version: "v1.4.230" docker_version: '0' publish: false + update_latest: false platforms: "linux/amd64" build_latest: uses: ./.github/workflows/build_and_publish.yml @@ -18,4 +19,5 @@ jobs: mumble_version: "latest" docker_version: '0' publish: false + update_latest: true platforms: "linux/amd64" diff --git a/.github/workflows/manual_dispatch.yml b/.github/workflows/manual_dispatch.yml index 567c34d..b7cced3 100644 --- a/.github/workflows/manual_dispatch.yml +++ b/.github/workflows/manual_dispatch.yml @@ -15,6 +15,10 @@ on: description: "Whether the built image(s) shall be published to Dockerhub" required: true default: "false" + update_latest: + description: "Whether to update the 'latest' tag on Dockerhub" + required: true + default: "false" jobs: manual_dispatch: @@ -23,5 +27,6 @@ jobs: mumble_version: ${{ github.event.inputs.mumble_version }} docker_version: ${{ github.event.inputs.docker_version }} publish: ${{ github.event.inputs.publish == 'true' }} + update_latest: ${{ github.event.inputs.update_latest == 'true' }} platforms: "linux/amd64" secrets: inherit From 674d8e887b05f69295257bf15360013f6ccf6edc Mon Sep 17 00:00:00 2001 From: Robert Adam Date: Sat, 7 May 2022 20:52:20 +0200 Subject: [PATCH 2/2] CI: Add trigger for upstream releases --- .github/workflows/upstream_release.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/upstream_release.yml diff --git a/.github/workflows/upstream_release.yml b/.github/workflows/upstream_release.yml new file mode 100644 index 0000000..ca3d4ab --- /dev/null +++ b/.github/workflows/upstream_release.yml @@ -0,0 +1,16 @@ +name: Upstream Release + +on: + repository_dispatch: + types: [ new_release ] + +jobs: + publish_new_release: + uses: ./.github/workflows/build_and_publish.yml + with: + mumble_version: ${{ github.event.client_payload.tag }} + docker_version: '0' + publish: true + update_latest: ${{ github.event.client_payload.is_latest }} + platforms: "linux/amd64" + secrets: inherit