From 9c020d87bf856999cc88e7f4a7dbc739d406c48c Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Fri, 8 Mar 2024 14:51:25 +0100 Subject: [PATCH] ci: test multi output Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- .github/workflows/ci.yml | 83 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88a3a28..1923de7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -442,3 +442,86 @@ jobs: source: "{{defaultContext}}" files: | cwd://${{ steps.meta.outputs.bake-file }} + + multi-output: + runs-on: ubuntu-latest + services: + registry: + image: registry:2 + ports: + - 5000:5000 + steps: + - + name: Checkout + uses: actions/checkout@v4 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} + # TODO: use buildx-stable-1 image when v0.13 promoted + driver-opts: | + image=moby/buildkit:v0.13.0 + network=host + - + name: Build and push + uses: ./ + with: + workdir: ./test/go + set: | + *.output=type=image,name=localhost:5000/name/app:latest,push=true + *.output=type=docker,name=app:local + *.output=type=oci,dest=/tmp/oci.tar + - + name: Check registry + run: | + docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}' + - + name: Check docker + run: | + docker image inspect app:local + - + name: Check oci + run: | + set -ex + mkdir -p /tmp/oci-out + tar xf /tmp/oci.tar -C /tmp/oci-out + tree -nh /tmp/oci-out + + load-and-push: + runs-on: ubuntu-latest + services: + registry: + image: registry:2 + ports: + - 5000:5000 + steps: + - + name: Checkout + uses: actions/checkout@v4 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} + # TODO: use buildx-stable-1 image when v0.13 promoted + driver-opts: | + image=moby/buildkit:v0.13.0 + network=host + - + name: Build and push + uses: ./ + with: + workdir: ./test/go + load: true + push: true + set: | + *.tags=localhost:5000/name/app:latest + - + name: Check registry + run: | + docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}' + - + name: Check docker + run: | + docker image inspect localhost:5000/name/app:latest