Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

Docker Image PHP-FPM #556

Docker Image PHP-FPM

Docker Image PHP-FPM #556

name: Docker Image PHP-FPM
on:
schedule:
- cron: "0 6 * * *" # 6 AM daily
push:
paths:
- images/.trigger
- images/php-fpm/**
- .github/workflows/*php-fpm*
- .github/workflows/php-matrix/**
branches:
- main
- test-php-fpm
jobs:
php-matrix:
name: Generate Base PHP Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 8.0
- id: matrix
run: |
php .github/workflows/php-matrix/php-generator.php >> $GITHUB_OUTPUT
- run: echo "Matrix:\n";echo '${{ steps.matrix.outputs.matrix }}'
node-matrix:
name: Generate Base PHP-Node Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 8.0
- id: matrix
run: |
php .github/workflows/php-matrix/node-generator.php >> $GITHUB_OUTPUT
- run: echo "Matrix:\n";echo '${{ steps.matrix.outputs.matrix }}'
blackfire-matrix:
name: Generate PHP-Node + Blackfire Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 8.0
- id: matrix
run: |
php .github/workflows/php-matrix/blackfire-generator.php >> $GITHUB_OUTPUT
- run: echo "Matrix:\n";echo '${{ steps.matrix.outputs.matrix }}'
full-matrix:
name: Generate Full Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 8.0
- id: matrix
run: |
php .github/workflows/php-matrix/full-generator.php >> $GITHUB_OUTPUT
- run: echo "Matrix:\n";echo '${{ steps.matrix.outputs.matrix }}'
php-fpm:
needs: php-matrix
name: PHP-FPM ${{ matrix.php_version }}
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix: ${{fromJson(needs.php-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
id: build
with:
file: images/php-fpm/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64
build-args: |
PHP_VERSION=${{ matrix.php_version }}
ENV_SOURCE_IMAGE=php
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-buildcache
load: true
tags: den/test-image:latest
- run: docker run den/test-image:latest php -v
- uses: docker/build-push-action@v3
with:
file: images/php-fpm/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
PHP_VERSION=${{ matrix.php_version }}
ENV_SOURCE_IMAGE=php
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-buildcache
cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-buildcache,mode=max
- uses: docker/build-push-action@v3
if: ${{ matrix.latest }}
with:
file: images/php-fpm/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
PHP_VERSION=${{ matrix.php_version }}
ENV_SOURCE_IMAGE=php
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm:latest
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-buildcache
cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-buildcache,mode=max
php-node:
name: PHP-FPM ${{ matrix.php_version }} + Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ php-fpm, node-matrix ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 6 || 0 }}
matrix: ${{fromJson(needs.node-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
id: build
with:
file: images/php-fpm/node/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
NODE_VERSION=${{ matrix.node_version }}
load: true
tags: den/test-image:latest
- run: docker run den/test-image:latest node -v
- uses: docker/build-push-action@v3
with:
file: images/php-fpm/node/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
NODE_VERSION=${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.latest }}
with:
file: images/php-fpm/node/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
NODE_VERSION=${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm:latest-nodelatest
xdebug:
name: PHP-FPM ${{ matrix.php_version }} + XDebug - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ php-node, full-matrix ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.full-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-debug:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-debug:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-debug:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-debug:latest
blackfire:
name: PHP-FPM ${{ matrix.php_version }} + Blackfire - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ php-node, blackfire-matrix ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.blackfire-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-blackfire:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-blackfire:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-blackfire:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-blackfire:latest
magento1:
name: Magento 1 PHP-FPM ${{ matrix.php_version }} - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ full-matrix, php-node ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.full-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento1/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento1/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1:latest
magento1-xdebug:
name: Magento 1 PHP-FPM ${{ matrix.php_version }} + XDebug - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ full-matrix, magento1 ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.full-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento1/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-debug:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento1/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-debug:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-debug:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-debug:latest
magento1-blackfire:
name: Magento 1 PHP-FPM ${{ matrix.php_version }} + Blackfire - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ blackfire-matrix, magento1 ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.blackfire-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento1/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-blackfire:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento1/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-blackfire:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-blackfire:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento1/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento1-blackfire:latest
magento2:
name: Magento 2 PHP-FPM ${{ matrix.php_version }} - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ full-matrix, php-node ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.full-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento2/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento2/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2:latest
magento2-xdebug:
name: Magento 2 PHP-FPM ${{ matrix.php_version }} + XDebug - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ full-matrix, magento2 ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.full-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento2/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-debug:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento2/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-debug:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-debug:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/xdebug3/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}
XDEBUG_TYPE=${{ matrix.xdebug_type }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-debug:latest
magento2-blackfire:
name: Magento 2 PHP-FPM ${{ matrix.php_version }} + Blackfire - Node ${{ matrix.node_version }}
runs-on: ubuntu-latest
needs: [ blackfire-matrix, magento2 ]
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: ${{ github.ref == 'refs/heads/main' && 2 || 0 }}
matrix: ${{fromJson(needs.blackfire-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Login to Github Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ !env.ACT }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ !env.ACT }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' }}
with:
file: images/php-fpm/magento2/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-blackfire:${{ matrix.php_version }}-node${{ matrix.node_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' }}
with:
file: images/php-fpm/magento2/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-blackfire:${{ matrix.php_version }}
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version!='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}-node${{ matrix.node_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-blackfire:latest-nodelatest
- uses: docker/build-push-action@v3
if: ${{ matrix.node_version=='x' && matrix.latest }}
with:
file: images/php-fpm/magento2/blackfire/Dockerfile
context: images/php-fpm/context
platforms: linux/amd64,linux/arm64
build-args: |
ENV_SOURCE_IMAGE=ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2
PHP_VERSION=${{ matrix.php_version }}
push: ${{ github.ref == 'refs/heads/main' && !env.ACT }}
tags: ghcr.io/${{ github.repository_owner }}/den-php-fpm-magento2-blackfire:latest