|
@@ -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 }}
|
|
@@ -106,7 +124,7 @@ jobs:
|
|
|
if: github.event_name != 'pull_request'
|
|
|
run: |
|
|
|
mkdir -p /tmp/digests
|
|
|
- digest="${{ fromJSON(steps.bake.outputs.metadata).image['containerimage.digest'] }}"
|
|
|
+ digest="${{ fromJSON(steps.bake.outputs.metadata)['bin-image']['containerimage.digest'] }}"
|
|
|
touch "/tmp/digests/${digest#sha256:}"
|
|
|
-
|
|
|
name: Upload digest
|
|
@@ -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)
|