name: Push web base image on: push: branches: - main release: types: [published, created, edited] pull_request: jobs: build_base_image: strategy: matrix: #"3.11", "3.12", "3.13", "3.14" # "3.19", "3.20", "3.21" python: ["3.10"] alpine: ["3.18"] # include: # - python: "3.10.6" # alpine: "3.16" # exclude: # - python: "3.12" # alpine: "3.16" # - python: 3.10.9 # alpine: "3.15" runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to ghcr uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 # with: # driver-opts: | # image=moby/buildkit:v0.10.6 - id: string uses: ASzc/change-string-case-action@v5 with: string: ${{ github.repository_owner }} - name: Build and push base uses: docker/build-push-action@v6 with: build-args: | PYTHON_VERSION=${{ matrix.python }} ALPINE_VERSION=${{ matrix.alpine }} context: . file: ./Docker/Dockerfile.base platforms: linux/amd64,linux/arm64 push: true tags: ghcr.io/${{ steps.string.outputs.lowercase }}/web-base/python:${{ matrix.python }}-alpine${{ matrix.alpine }} - name: Build and push Poetry uses: docker/build-push-action@v6 with: build-args: | PYTHON_VERSION=${{ matrix.python }} ALPINE_VERSION=${{ matrix.alpine }} context: . file: ./Docker/Dockerfile.poetry platforms: linux/amd64,linux/arm64 push: true tags: ghcr.io/${{ steps.string.outputs.lowercase }}/web-base/poetry:${{ matrix.python }}-alpine${{ matrix.alpine }}