name: Build and push PHP based on almalinux on: push: branches: - php-almalinux jobs: base: name: Build php8-almalinux runs-on: ubuntu-latest container: image: ghcr.io/catthehacker/ubuntu:act-latest strategy: matrix: params: - os_version: "8.10" php_version: "7.2" composer_version: "2.8.9" - os_version: "8.10" php_version: "7.3" composer_version: "2.8.9" - os_version: "8.10" php_version: "7.4" composer_version: "2.8.9" - os_version: "9.5" php_version: "8.0" composer_version: "2.8.9" - os_version: "9.5" php_version: "8.1" composer_version: "2.8.9" - os_version: "9.5" php_version: "8.2" composer_version: "2.8.9" - os_version: "9.5" php_version: "8.3" composer_version: "2.8.9" - os_version: "9.5" php_version: "8.4" composer_version: "2.8.9" latest: 'true' steps: - name: Check out repository code uses: actions/checkout@v4 - name: Login to quay.io uses: docker/login-action@v3 with: registry: quay.io username: ${{ vars.QUAY_USERNAME }} password: ${{ secrets.QUAY_SECRET }} - name: Setup Docker buildx uses: docker/setup-buildx-action@v3 - if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '8') }} name: Build and push php 8 uses: docker/build-push-action@v5 with: push: true context: . file: 8/Dockerfile.${{ matrix.params.os }} build-args: | OS_VERSION=${{ matrix.params.os_version }} PHP_VERSION=${{ matrix.params.php_version }} COMPOSER_VERSION=${{ matrix.params.composer_version }} tags: | quay.io/teras/php:${{ matrix.params.php_version }} - if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '7') }} name: Build and push php 7 uses: docker/build-push-action@v5 with: push: true context: . file: 7/Dockerfile.${{ matrix.params.os }} build-args: | OS_VERSION=${{ matrix.params.os_version }} PHP_VERSION=${{ matrix.params.php_version }} COMPOSER_VERSION=${{ matrix.params.composer_version }} tags: | quay.io/teras/php:${{ matrix.params.php_version }} - if: ${{ matrix.params.latest == 'true' }} name: Build and push php 8 latest uses: docker/build-push-action@v5 with: push: true context: . file: 8/Dockerfile.${{ matrix.params.os }} build-args: | OS_VERSION=${{ matrix.params.os_version }} PHP_VERSION=${{ matrix.params.php_version }} COMPOSER_VERSION=${{ matrix.params.composer_version }} tags: | quay.io/teras/php:${{ matrix.params.php_version }} quay.io/teras/php:8 quay.io/teras/php:latest