diff --git a/.github/workflows/test-docker-manifest.yaml b/.github/workflows/test-docker-manifest.yaml new file mode 100644 index 0000000000..4805f8f1a7 --- /dev/null +++ b/.github/workflows/test-docker-manifest.yaml @@ -0,0 +1,29 @@ +name: Upload release artifacts +on: + workflow_dispatch: + inputs: + release_tag: + description: "The release tag to target" + +permissions: + id-token: write + contents: write + packages: write + +jobs: + docker-multiplatform-image: + name: "Assemble multi-platform Docker image" + runs-on: ubuntu-latest + steps: + - name: Log in to registry + run: echo "${{ secrets.GH_TOKEN_FOR_UPDATES }}" | docker login ghcr.io -u $ --password-stdin + - name: Assemble and push image + env: + RELEASE_TAG: ${{ github.event_name == 'release' && github.event.release.tag_name || github.event.inputs.release_tag }} + run: | + docker manifest create \ + ghcr.io/tweag/nickel:$RELEASE_TAG \ + ghcr.io/tweag/nickel:$RELEASE_TAG-x86_64 \ + ghcr.io/tweag/nickel:$RELEASE_TAG-arm64 \ + docker push ghcr.io/tweag/nickel:$RELEASE_TAG +