From 84584f8866d56bc5c8045725d6803b9eda91d42c Mon Sep 17 00:00:00 2001 From: Nick Carton <nick.carton@gmail.com> Date: Sat, 28 Dec 2024 21:51:31 +1100 Subject: [PATCH] Update docker build steps --- .github/{ => workflows}/docker-publish.yml | 23 +++++++++++++--------- .github/workflows/release.yml | 9 +++++++++ dist-workspace.toml | 11 +++-------- 3 files changed, 26 insertions(+), 17 deletions(-) rename .github/{ => workflows}/docker-publish.yml (63%) diff --git a/.github/docker-publish.yml b/.github/workflows/docker-publish.yml similarity index 63% rename from .github/docker-publish.yml rename to .github/workflows/docker-publish.yml index 9a94f72..7931249 100644 --- a/.github/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -3,7 +3,7 @@ name: Publish Docker image on: workflow_call: inputs: - tag: + plan: required: true type: string secrets: @@ -16,10 +16,21 @@ jobs: docker: runs-on: ubuntu-latest steps: + - name: Parse plan + id: plan + run: | + # Extract the tag from plan.outputs.tag + echo "Plan content for debugging:" + echo '${{ inputs.plan }}' | jq . + TAG=$(echo '${{ inputs.plan }}' | jq -r '.tag') + VERSION=$(echo '${{ inputs.plan }}' | jq -r '.releases[0].app_version') + echo "TAG=$TAG" >> $GITHUB_OUTPUT + echo "VERSION=$VERSION" >> $GITHUB_OUTPUT + - name: Checkout uses: actions/checkout@v4 with: - ref: ${{ inputs.tag }} + ref: ${{ steps.plan.outputs.TAG }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -33,12 +44,6 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Extract version from tag - id: version - run: echo "VERSION=${TAG#v}" >> $GITHUB_OUTPUT - env: - TAG: ${{ inputs.tag }} - - name: Build and push uses: docker/build-push-action@v5 with: @@ -47,6 +52,6 @@ jobs: push: true tags: | bitping/distributed-metrics:latest - bitping/distributed-metrics:${{ steps.version.outputs.VERSION }} + bitping/distributed-metrics:${{ steps.plan.outputs.VERSION }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 11a8551..848230a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -358,3 +358,12 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + + custom-docker-publish: + needs: + - plan + - announce + uses: ./.github/workflows/docker-publish.yml + with: + plan: ${{ needs.plan.outputs.val }} + secrets: inherit diff --git a/dist-workspace.toml b/dist-workspace.toml index 28c849d..333029d 100644 --- a/dist-workspace.toml +++ b/dist-workspace.toml @@ -12,13 +12,7 @@ installers = ["shell", "homebrew"] # A GitHub repo to push Homebrew formulas to tap = "BitpingApp/homebrew-tap" # Target platforms to build apps for (Rust target-triple syntax) -targets = [ - "aarch64-apple-darwin", - "aarch64-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-unknown-linux-gnu", - "x86_64-unknown-linux-musl", -] +targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl"] # Path that installers should place binaries in install-path = "CARGO_HOME" # Publish jobs to run in CI @@ -26,7 +20,8 @@ publish-jobs = ["homebrew"] # Whether to install an updater program install-updater = true github-build-setup = "../build-setup.yml" -post-announce-jobs = ["../docker-publish.yml"] +# Post-announce jobs to run in CI +post-announce-jobs = ["./docker-publish"] [dist.github-custom-runners] # Linux x86_64 builds