name: roundcubemail-testrunner image

on:
  push:
    paths:
      - '.ci/docker-images/*'
      - '.github/workflows/docker_image.yml'
  schedule:
    # Rebuild automatically each monday early morning.
    - cron: "42 5 * * 1"

jobs:
  build_and_push:
    strategy:
      fail-fast: false
      # Set up a matrix so we can add more versions to build with in the future.
      matrix:
        php: ["8.3"]

    name: build and push with PHP ${{ matrix.php }}
    runs-on: ubuntu-latest
    # Set the permissions granted to the GITHUB_TOKEN for the actions in this job.
    permissions:
      contents: read
      packages: write
      attestations: write
      id-token: write
    steps:
      - name: Check actor permission
        uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
        with:
          require: admin
      - name: Check out the repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - name: Log in to the Container registry
        uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: Build and push Docker image
        id: push
        uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
        with:
          context: .
          file: ./.ci/docker-images/Dockerfile
          push: true
          #platforms: linux/amd64,linux/arm64
          build-args: PHPVERSION=${{ matrix.php }}
          tags: "ghcr.io/roundcube/roundcubemail-testrunner:php${{ matrix.php }}"

