--- # yamllint disable truthy name: GitHub Docker Registry Build on: schedule: - cron: "0 2 * * 1" # At 2:00 on Monday. push: branches: ["main"] workflow_dispatch: env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io # github.repository as / IMAGE_NAME: ${{ github.repository }} permissions: read-all jobs: BuildAndRelease: runs-on: ubuntu-latest continue-on-error: true permissions: contents: read packages: write strategy: fail-fast: false matrix: php: [php74, php80, php81, php82, php83, php84] arch: ["linux/amd64", "linux/arm64"] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Log in to the Container registry uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push (${{ matrix.php }} / ${{ matrix.arch }}) uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 with: file: ${{ matrix.php }}/Dockerfile platforms: ${{ matrix.arch }} push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.php }}