From 62508dfc495b937e960f0f023d9060921405fe8b Mon Sep 17 00:00:00 2001 From: simonmicro Date: Sat, 6 Dec 2025 18:38:47 +0100 Subject: [PATCH] Update workflows to also build tagged releases Signed-off-by: simonmicro --- .github/workflows/bake_to_latest.yml | 24 ++++++++--- .github/workflows/bake_to_next.yml | 24 ++++++++--- .github/workflows/bake_to_test.yml | 4 +- .github/workflows/bake_to_version.yml | 62 +++++++++++++++++++++++++++ docker/docker-py3-kms/Dockerfile | 4 +- 5 files changed, 104 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/bake_to_version.yml diff --git a/.github/workflows/bake_to_latest.yml b/.github/workflows/bake_to_latest.yml index 8154f67..080afb2 100644 --- a/.github/workflows/bake_to_latest.yml +++ b/.github/workflows/bake_to_latest.yml @@ -1,4 +1,4 @@ -name: Build release-tags +name: Build latest/main tags on: workflow_dispatch: @@ -39,10 +39,17 @@ jobs: file: ./docker/docker-py3-kms/Dockerfile platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 push: true - tags: pykmsorg/py-kms:python3,ghcr.io/py-kms-organization/py-kms:python3 + # the tag "python3" is for backward compatibility only + tags: | + pykmsorg/py-kms:main + ghcr.io/py-kms-organization/py-kms:main + pykmsorg/py-kms:main-full + ghcr.io/py-kms-organization/py-kms:main-full + pykmsorg/py-kms:python3 + ghcr.io/py-kms-organization/py-kms:python3 build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} - name: Build (minimal) uses: docker/build-push-action@v6 with: @@ -50,7 +57,14 @@ jobs: file: ./docker/docker-py3-kms-minimal/Dockerfile platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 push: true - tags: pykmsorg/py-kms:latest,ghcr.io/py-kms-organization/py-kms:latest,pykmsorg/py-kms:minimal,ghcr.io/py-kms-organization/py-kms:minimal + # the tag "minimal" is for backward compatibility only + tags: | + pykmsorg/py-kms:latest + ghcr.io/py-kms-organization/py-kms:latest + pykmsorg/py-kms:main-minimal + ghcr.io/py-kms-organization/py-kms:main-minimal + pykmsorg/py-kms:minimal + ghcr.io/py-kms-organization/py-kms:minimal build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} diff --git a/.github/workflows/bake_to_next.yml b/.github/workflows/bake_to_next.yml index 376b04a..b3128a3 100644 --- a/.github/workflows/bake_to_next.yml +++ b/.github/workflows/bake_to_next.yml @@ -1,4 +1,4 @@ -name: Build next-tags +name: Build next tags on: workflow_dispatch: @@ -39,10 +39,17 @@ jobs: file: ./docker/docker-py3-kms/Dockerfile platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 push: true - tags: pykmsorg/py-kms:python3-next,ghcr.io/py-kms-organization/py-kms:python3-next + # the tag "python3-next" is for backward compatibility only + tags: | + pykmsorg/py-kms:next + ghcr.io/py-kms-organization/py-kms:next + pykmsorg/py-kms:next-full + ghcr.io/py-kms-organization/py-kms:next-full + pykmsorg/py-kms:python3-next + ghcr.io/py-kms-organization/py-kms:python3-next build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} - name: Build (minimal) uses: docker/build-push-action@v6 with: @@ -50,7 +57,14 @@ jobs: file: ./docker/docker-py3-kms-minimal/Dockerfile platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 push: true - tags: pykmsorg/py-kms:latest-next,ghcr.io/py-kms-organization/py-kms:latest-next,pykmsorg/py-kms:minimal-next,ghcr.io/py-kms-organization/py-kms:minimal-next + # the tag "latest-next" and "minimal-next" are for backward compatibility only + tags: | + pykmsorg/py-kms:next-minimal + ghcr.io/py-kms-organization/py-kms:next-minimal + pykmsorg/py-kms:latest-next + ghcr.io/py-kms-organization/py-kms:latest-next + pykmsorg/py-kms:minimal-next + ghcr.io/py-kms-organization/py-kms:minimal-next build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} diff --git a/.github/workflows/bake_to_test.yml b/.github/workflows/bake_to_test.yml index d409aef..73119bd 100644 --- a/.github/workflows/bake_to_test.yml +++ b/.github/workflows/bake_to_test.yml @@ -25,7 +25,7 @@ jobs: push: false build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} - name: Build (minimal) uses: docker/build-push-action@v6 with: @@ -35,4 +35,4 @@ jobs: push: false build-args: | BUILD_COMMIT=${{ github.sha }} - BUILD_BRANCH=${{ github.ref_name }} + BUILD_REFERENCE=${{ github.ref_name }} diff --git a/.github/workflows/bake_to_version.yml b/.github/workflows/bake_to_version.yml new file mode 100644 index 0000000..7b13841 --- /dev/null +++ b/.github/workflows/bake_to_version.yml @@ -0,0 +1,62 @@ +name: Build version tags + +on: + workflow_dispatch: + push: + tags: + - "v*" + +jobs: + bake-latest: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Docker Setup QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Docker Setup Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build (full) + uses: docker/build-push-action@v6 + with: + context: . + file: ./docker/docker-py3-kms/Dockerfile + platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 + push: true + tags: | + pykmsorg/py-kms:${{ github.ref_name }}-full + ghcr.io/py-kms-organization/py-kms:${{ github.ref_name }}-full + build-args: | + BUILD_COMMIT=${{ github.sha }} + BUILD_REFERENCE=${{ github.ref_name }} + - name: Build (minimal) + uses: docker/build-push-action@v6 + with: + context: . + file: ./docker/docker-py3-kms-minimal/Dockerfile + platforms: linux/amd64,linux/386,linux/arm64/v8,linux/arm/v7,linux/arm/v6 + push: true + tags: | + pykmsorg/py-kms:${{ github.ref_name }} + ghcr.io/py-kms-organization/py-kms:${{ github.ref_name }} + pykmsorg/py-kms:${{ github.ref_name }}-minimal + ghcr.io/py-kms-organization/py-kms:${{ github.ref_name }}-minimal + build-args: | + BUILD_COMMIT=${{ github.sha }} + BUILD_REFERENCE=${{ github.ref_name }} diff --git a/docker/docker-py3-kms/Dockerfile b/docker/docker-py3-kms/Dockerfile index 547171b..3c9846d 100644 --- a/docker/docker-py3-kms/Dockerfile +++ b/docker/docker-py3-kms/Dockerfile @@ -2,7 +2,7 @@ FROM alpine:3.22 ARG BUILD_COMMIT=unknown -ARG BUILD_BRANCH=unknown +ARG BUILD_REFERENCE=unknown ENV IP=:: ENV DUALSTACK=1 @@ -50,7 +50,7 @@ RUN chown root: -R /home/py-kms && \ # Web-interface specifics COPY LICENSE /LICENSE -RUN echo "$BUILD_COMMIT" > /VERSION && echo "$BUILD_BRANCH" >> /VERSION +RUN echo "$BUILD_COMMIT" > /VERSION && echo "$BUILD_REFERENCE" >> /VERSION WORKDIR /home/py-kms