From 124296ecf18da45ee6d629e66afd5de3909b53d7 Mon Sep 17 00:00:00 2001 From: gigirassy Date: Fri, 19 Jun 2026 18:26:30 +0200 Subject: [PATCH] Add .forgejo/workflows/docker.yml --- .forgejo/workflows/docker.yml | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .forgejo/workflows/docker.yml diff --git a/.forgejo/workflows/docker.yml b/.forgejo/workflows/docker.yml new file mode 100644 index 0000000..d55e56f --- /dev/null +++ b/.forgejo/workflows/docker.yml @@ -0,0 +1,57 @@ +name: Build and Push Multi-Arch Container + +env: + REGISTRY_HOST: codeberg.org + REGISTRY_REPO: gigirassy/the-pit + +on: + push: + + +jobs: + build: + runs-on: self-hosted + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY_HOST }} + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASS }} + + - name: Build image (export tar) + run: | + docker buildx build \ + --platform linux/amd64 \ + --output type=docker,dest=image.tar \ + -t local-image:scan \ + . + + - name: Scan image with Grype + run: | + docker run --rm \ + -v $(pwd):/work \ + anchore/grype:latest \ + docker-archive:/work/image.tar \ + --fail-on high \ + -o table + + - name: Build and push multi-arch image + if: success() + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64, linux/arm64 + tags: | + ${{ env.REGISTRY_HOST }}/${{ env.REGISTRY_REPO }}:latest \ No newline at end of file