226 lines
8.0 KiB
YAML
226 lines
8.0 KiB
YAML
name: Build and push PHP container images
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
base:
|
|
name: Build php cli with composer
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/catthehacker/ubuntu:act-latest
|
|
strategy:
|
|
matrix:
|
|
params:
|
|
- os: "alpine"
|
|
os_version: "3.9"
|
|
os_label: "true"
|
|
php_version: "7.2"
|
|
php_short_version: "7"
|
|
php_release: "7"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.12"
|
|
os_label: "true"
|
|
php_version: "7.3"
|
|
php_short_version: "7"
|
|
php_release: "7"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.15"
|
|
os_label: "true"
|
|
php_version: "7.4"
|
|
php_short_version: "7"
|
|
php_release: "7"
|
|
php_major: 'true'
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.16"
|
|
os_label: "true"
|
|
php_version: "8.0"
|
|
php_short_version: "8"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.19"
|
|
os_label: "true"
|
|
php_version: "8.1"
|
|
php_short_version: "81"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.21"
|
|
os_label: "true"
|
|
php_version: "8.2"
|
|
php_short_version: "82"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.21"
|
|
os_label: "true"
|
|
php_version: "8.3"
|
|
php_short_version: "83"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "alpine"
|
|
os_version: "3.21"
|
|
os_label: "true"
|
|
php_version: "8.4"
|
|
php_short_version: "84"
|
|
php_release: "8"
|
|
php_major: 'true'
|
|
composer_version: "2.8.9"
|
|
latest: 'true'
|
|
- os: "almalinux"
|
|
os_version: "8.10"
|
|
os_short_version: "8"
|
|
php_version: "7.2"
|
|
php_release: "7"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "8.10"
|
|
os_short_version: "8"
|
|
php_version: "7.3"
|
|
php_release: "7"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "7.4"
|
|
php_release: "7"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "8.0"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "8.1"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "8.2"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "8.3"
|
|
php_release: "8"
|
|
composer_version: "2.8.9"
|
|
- os: "almalinux"
|
|
os_version: "9.5"
|
|
os_short_version: "9"
|
|
php_version: "8.4"
|
|
php_release: "8"
|
|
php_major: 'true'
|
|
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.os_label != 'true' }}
|
|
name: Build and push php release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:${{ matrix.params.php_version }}
|
|
- if: ${{ matrix.params.os_label == 'true' }}
|
|
name: Build and push php release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:${{ matrix.params.php_version }}-${{ matrix.params.os }}
|
|
- if: ${{ matrix.params.php_major == 'true' && matrix.params.os_label != 'true' }}
|
|
name: Build and push php major release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:${{ matrix.params.php_release }}
|
|
- if: ${{ matrix.params.php_major == 'true' && matrix.params.os_label == 'true' }}
|
|
name: Build and push php major release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:${{ matrix.params.php_release }}-${{ matrix.params.os }}
|
|
- if: ${{ matrix.params.latest == 'true' && matrix.params.os_label != 'true' }}
|
|
name: Build and push latest release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:latest
|
|
- if: ${{ matrix.params.latest == 'true' && matrix.params.os_label == 'true' }}
|
|
name: Build and push latest release
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
file: Dockerfile.${{ matrix.params.os }}
|
|
build-args: |
|
|
OS_VERSION=${{ matrix.params.os_version }}
|
|
OS_SHORT_VERSION=${{ matirx.params.os_short_version }}
|
|
PHP_VERSION=${{ matrix.params.php_version }}
|
|
PHP_SHORT_VERSION=${{ matrix.params.php_short_version }}
|
|
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
|
tags: |
|
|
quay.io/teras/php:latest-${{ matrix.params.os }}
|