name: build on: push: tags: - "v*.*.*" pull_request: branches: [main, master] env: REGISTRY: git.44net.ch jobs: build-py38: runs-on: ubuntu-latest env: IMAGE_NAME: actions/runner-python38 steps: - name: checkout code uses: actions/checkout@v3 - name: setup qemu uses: docker/setup-qemu-action@v2 - name: setup docker buildx uses: docker/setup-buildx-action@v2 - name: get container metadata uses: docker/metadata-action@v4 id: metadata with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} flavor: | latest=auto prefix= suffix= tags: | type=schedule type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha - name: login to container registry uses: docker/login-action@v2 if: gitea.event_name != 'pull_request' with: registry: ${{ env.REGISTRY }} username: ${{ secrets.CR_USERNAME }} password: ${{ secrets.CR_PASSWORD }} - name: build and push docker image @amd64+arm64 uses: docker/build-push-action@v4 with: push: ${{ gitea.event_name != 'pull_request' }} platforms: | linux/amd64 linux/arm64 context: . file: Dockerfile.py38 provenance: false tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} build-args: | BUILD_VERSION=${{ steps.metadata.outputs.version }} BUILD_COMMIT=${{ gitea.sha }} build-py39: runs-on: ubuntu-latest env: IMAGE_NAME: actions/runner-python39 steps: - name: checkout code uses: actions/checkout@v3 - name: setup qemu uses: docker/setup-qemu-action@v2 - name: setup docker buildx uses: docker/setup-buildx-action@v2 - name: get container metadata uses: docker/metadata-action@v4 id: metadata with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} flavor: | latest=auto prefix= suffix= tags: | type=schedule type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha - name: login to container registry uses: docker/login-action@v2 if: gitea.event_name != 'pull_request' with: registry: ${{ env.REGISTRY }} username: ${{ secrets.CR_USERNAME }} password: ${{ secrets.CR_PASSWORD }} - name: build and push docker image @amd64+arm64 uses: docker/build-push-action@v4 with: push: ${{ gitea.event_name != 'pull_request' }} platforms: | linux/amd64 linux/arm64 context: . file: Dockerfile.py39 provenance: false tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} build-args: | BUILD_VERSION=${{ steps.metadata.outputs.version }} BUILD_COMMIT=${{ gitea.sha }} build-py310: runs-on: ubuntu-latest env: IMAGE_NAME: actions/runner-python310 steps: - name: checkout code uses: actions/checkout@v3 - name: setup qemu uses: docker/setup-qemu-action@v2 - name: setup docker buildx uses: docker/setup-buildx-action@v2 - name: get container metadata uses: docker/metadata-action@v4 id: metadata with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} flavor: | latest=auto prefix= suffix= tags: | type=schedule type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha - name: login to container registry uses: docker/login-action@v2 if: gitea.event_name != 'pull_request' with: registry: ${{ env.REGISTRY }} username: ${{ secrets.CR_USERNAME }} password: ${{ secrets.CR_PASSWORD }} - name: build and push docker image @amd64+arm64 uses: docker/build-push-action@v4 with: push: ${{ gitea.event_name != 'pull_request' }} platforms: | linux/amd64 linux/arm64 context: . file: Dockerfile.py310 provenance: false tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} build-args: | BUILD_VERSION=${{ steps.metadata.outputs.version }} BUILD_COMMIT=${{ gitea.sha }} build-py311: runs-on: ubuntu-latest env: IMAGE_NAME: actions/runner-python311 steps: - name: checkout code uses: actions/checkout@v3 - name: setup qemu uses: docker/setup-qemu-action@v2 - name: setup docker buildx uses: docker/setup-buildx-action@v2 - name: get container metadata uses: docker/metadata-action@v4 id: metadata with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} flavor: | latest=auto prefix= suffix= tags: | type=schedule type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha - name: login to container registry uses: docker/login-action@v2 if: gitea.event_name != 'pull_request' with: registry: ${{ env.REGISTRY }} username: ${{ secrets.CR_USERNAME }} password: ${{ secrets.CR_PASSWORD }} - name: build and push docker image @amd64+arm64 uses: docker/build-push-action@v4 with: push: ${{ gitea.event_name != 'pull_request' }} platforms: | linux/amd64 linux/arm64 context: . file: Dockerfile.py311 provenance: false tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} build-args: | BUILD_VERSION=${{ steps.metadata.outputs.version }} BUILD_COMMIT=${{ gitea.sha }}