diff --git a/.github/workflows/bin-image.yml b/.github/workflows/bin-image.yml index 2b9161836d8a65a86b2a186f981a12d7347ea641..ab05844ab5e5f7a1cab4d13333054475d4a61c53 100644 --- a/.github/workflows/bin-image.yml +++ b/.github/workflows/bin-image.yml @@ -33,6 +33,39 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - + name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.MOBYBIN_REPO_SLUG }} + ### versioning strategy + ## push semver tag v23.0.0 + # moby/moby-bin:23.0.0 + # moby/moby-bin:latest + ## push semver prelease tag v23.0.0-beta.1 + # moby/moby-bin:23.0.0-beta.1 + ## push on master + # moby/moby-bin:master + ## push on 23.0 branch + # moby/moby-bin:23.0 + tags: | + type=semver,pattern={{version}} + type=ref,event=branch + type=ref,event=pr + - + name: Rename meta bake definition file + run: | + mv "${{ steps.meta.outputs.bake-file }}" "/tmp/bake-meta.json" + - + name: Upload meta bake definition + uses: actions/upload-artifact@v3 + with: + name: bake-meta + path: /tmp/bake-meta.json + if-no-files-found: error + retention-days: 1 - name: Create platforms matrix id: platforms @@ -55,26 +88,11 @@ jobs: with: fetch-depth: 0 - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 + name: Download meta bake definition + uses: actions/download-artifact@v3 with: - images: | - ${{ env.MOBYBIN_REPO_SLUG }} - ### versioning strategy - ## push semver tag v23.0.0 - # moby/moby-bin:23.0.0 - # moby/moby-bin:latest - ## push semver prelease tag v23.0.0-beta.1 - # moby/moby-bin:23.0.0-beta.1 - ## push on master - # moby/moby-bin:master - ## push on 23.0 branch - # moby/moby-bin:23.0 - tags: | - type=semver,pattern={{version}} - type=ref,event=branch - type=ref,event=pr + name: bake-meta + path: /tmp - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -95,7 +113,7 @@ jobs: with: files: | ./docker-bake.hcl - ${{ steps.meta.outputs.bake-file }} + /tmp/bake-meta.json targets: bin-image set: | *.platform=${{ matrix.platform }} @@ -117,18 +135,6 @@ jobs: path: /tmp/digests/* if-no-files-found: error retention-days: 1 - - - name: Rename meta bake definition file - run: | - mv "${{ steps.meta.outputs.bake-file }}" "/tmp/bake-meta.json" - - - name: Upload meta bake definition - uses: actions/upload-artifact@v3 - with: - name: bake-meta - path: /tmp/bake-meta.json - if-no-files-found: error - retention-days: 1 merge: runs-on: ubuntu-20.04 @@ -162,10 +168,10 @@ jobs: working-directory: /tmp/digests run: | set -x - docker buildx imagetools create $(jq -cr '.target."docker-metadata-action".tags | map("-t " + .) | join(" ")' /tmp/bake.json) \ + docker buildx imagetools create $(jq -cr '.target."docker-metadata-action".tags | map("-t " + .) | join(" ")' /tmp/bake-meta.json) \ $(printf '${{ env.MOBYBIN_REPO_SLUG }}@sha256:%s ' *) - name: Inspect image run: | set -x - docker buildx imagetools inspect ${{ env.MOBYBIN_REPO_SLUG }}:$(jq -cr '.target."docker-metadata-action".args.DOCKER_META_VERSION' /tmp/bake.json) + docker buildx imagetools inspect ${{ env.MOBYBIN_REPO_SLUG }}:$(jq -cr '.target."docker-metadata-action".args.DOCKER_META_VERSION' /tmp/bake-meta.json)