name: docker on: push: branches: - "main" tags: - "v*.*.*" workflow_dispatch: jobs: docker-amd64: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Docker meta id: meta uses: docker/metadata-action@v4 with: images: thatbenbierens/nim-codex-amd64 tags: | type=semver,pattern={{version}} type=sha - name: Login to Docker Hub if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and export to Docker id: build uses: docker/build-push-action@v4 with: context: . file: docker/codex.Dockerfile platforms: linux/amd64 load: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - name: Minify docker image uses: kitabisa/docker-slim-action@v1 env: DSLIM_HTTP_PROBE: false with: target: ${{ steps.meta.outputs.tags }} overwrite: true - name: Show slim report run: echo "${{ steps.slim.outputs.report }}" - name: Push to Docker registry if: github.event_name != 'pull_request' id: push uses: docker/build-push-action@v4 with: context: . file: docker/codex.Dockerfile platforms: linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} docker-arm64: runs-on: buildjet-4vcpu-ubuntu-2204-arm steps: - name: Checkout uses: actions/checkout@v3 - name: Docker meta id: meta uses: docker/metadata-action@v4 with: images: thatbenbierens/nim-codex-arm64 tags: | type=semver,pattern={{version}} type=sha - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and export to Docker id: build uses: docker/build-push-action@v4 with: context: . file: docker/codex.Dockerfile platforms: linux/arm64 load: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - name: Minify docker image uses: kitabisa/docker-slim-action@v1 env: DSLIM_HTTP_PROBE: false with: target: ${{ steps.meta.outputs.tags }} overwrite: true - name: Show slim report run: echo "${{ steps.slim.outputs.report }}" - name: Push to Docker registry if: github.event_name != 'pull_request' id: push uses: docker/build-push-action@v4 with: context: . file: docker/codex.Dockerfile platforms: linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}