Changed php7 and php8 build as one branch
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 latest:true os_version:9.5 php_version:8.4]) (push) Failing after 32s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:8.10 php_version:7.2]) (push) Failing after 27s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:8.10 php_version:7.3]) (push) Failing after 29s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:8.10 php_version:7.4]) (push) Failing after 28s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:9.5 php_version:8.0]) (push) Failing after 29s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:9.5 php_version:8.1]) (push) Failing after 29s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:9.5 php_version:8.2]) (push) Failing after 31s Details
Build and push PHP based on almalinux / Build php8-almalinux (map[composer_version:2.8.9 os_version:9.5 php_version:8.3]) (push) Failing after 27s Details

This commit is contained in:
Muhamad Aditya Prima 2025-05-21 03:15:42 +07:00
parent 89a96c6b2c
commit 71732fdead
4 changed files with 162 additions and 79 deletions

View File

@ -0,0 +1,92 @@
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

View File

@ -1,76 +0,0 @@
name: Build and push PHP 8 container images
on:
push:
branches:
- php8-almalinux
jobs:
build:
name: Build php8-almalinux
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
strategy:
matrix:
flavors:
- os: "almalinux"
os_version: "9.5"
php_version: "8.0"
composer_version: "2.8.9"
- os: "almalinux"
os_version: "9.5"
php_version: "8.1"
composer_version: "2.8.9"
- os: "almalinux"
os_version: "9.5"
php_version: "8.2"
composer_version: "2.8.9"
- os: "almalinux"
os_version: "9.5"
php_version: "8.3"
composer_version: "2.8.9"
- os: "almalinux"
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.flavors.latest != 'true' }}
name: Build and push php ${{ matrix.flavors.php_version }}
uses: docker/build-push-action@v5
with:
push: true
context: .
file: 8/Dockerfile.${{ matrix.flavors.os }}
build-args: |
OS_VERSION=${{ matrix.flavors.os_version }}
PHP_VERSION=${{ matrix.flavors.php_version }}
COMPOSER_VERSION=${{ matrix.flavors.composer_version }}
tags: |
quay.io/teras/php:${{ matrix.flavors.php_version }}
- if: ${{ matrix.flavors.latest == 'true' }}
name: Build and push php ${{ matrix.flavors.php_version }}
uses: docker/build-push-action@v5
with:
push: true
context: .
file: 8/Dockerfile.${{ matrix.flavors.os }}
build-args: |
OS_VERSION=${{ matrix.flavors.os_version }}
PHP_VERSION=${{ matrix.flavors.php_version }}
COMPOSER_VERSION=${{ matrix.flavors.composer_version }}
tags: |
quay.io/teras/php:${{ matrix.flavors.php_version }}
quay.io/teras/php:8
quay.io/teras/php:latest

68
7/Dockerfile.almalinux Normal file
View File

@ -0,0 +1,68 @@
ARG OS_VERSION=8.10
FROM quay.io/teras/almalinux:${OS_VERSION}-minimal AS builder
ARG PHP_VERSION=7.4
ARG COMPOSER_VERSION=2.8.9
ENV PHP_VERSION=${PHP_VERSION}
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
ENV SERVER_ROOT=/app
RUN /bin/microdnf -y --nodocs install shadow-utils; \
/bin/mkdir -p ${SERVER_ROOT}; \
/sbin/groupadd -g 10000 php; \
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
/bin/chown -R php:php ${SERVER_ROOT}; \
/bin/microdnf -y --nodocs install epel-release; \
/bin/microdnf -y upgrade; \
/bin/rpm -Uvh --replacepkgs --replacefiles \
https://rpms.remirepo.net/enterprise/remi-release-8.rpm; \
/bin/microdnf -y module reset php; \
/bin/microdnf -y module enable php:remi-${PHP_VERSION}; \
/bin/microdnf -y --nodocs install \
php php-cli php-common php-phar \
php-iconv php-mbstring php-json;
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
RUN /bin/chmod +rx /usr/local/bin/composer; \
/bin/microdnf -y remove shadow-utils; \
/bin/microdnf clean all; \
/bin/rm -rf /var/cache/yum/*; \
/bin/rm -rf /var/lib/yum/history/*; \
/bin/rm -rf /var/lib/yum/yumdb/*; \
/bin/rm -rf /var/lib/dnf/*;
# Create symlinks to /usr/bin/php in case it doesn't exists
RUN ln -ns /usr/bin/php${PHP_VERSION} /usr/bin/php; exit 0
FROM scratch
ARG PHP_VERSION=7.4
ARG COMPOSER_VERSION=2.8.9
ENV PHP_VERSION=${PHP_VERSION}
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
ENV SERVER_ROOT=/app
LABEL maintainer="Muhamad Aditya Prima <aditya@teraslink.id>"
LABEL name="php"
LABEL version="${PHP_VERSION}"
LABEL distribution-scope="public"
#labels for container catalog
LABEL summary="PHP ${PHP_VERSION} on almalinux-minimal container image"
LABEL description="Provide php on almalinux-minimal container base image"
LABEL io.k8s.description="PHP with composer"
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
COPY --from=builder / /
WORKDIR ${SERVER_ROOT}
USER php
STOPSIGNAL SIGQUIT
CMD ["/usr/bin/php", "-v"]

View File

@ -11,7 +11,7 @@ ENV SERVER_ROOT=/app
RUN /bin/mkdir -p ${SERVER_ROOT}; \ RUN /bin/mkdir -p ${SERVER_ROOT}; \
/sbin/groupadd -g 10000 php; \ /sbin/groupadd -g 10000 php; \
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -d ${SERVER_ROOT} php; \ /sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
/bin/chown -R php:php ${SERVER_ROOT}; \ /bin/chown -R php:php ${SERVER_ROOT}; \
/bin/microdnf -y --nodocs install epel-release; \ /bin/microdnf -y --nodocs install epel-release; \
/bin/microdnf -y upgrade; \ /bin/microdnf -y upgrade; \
@ -25,8 +25,7 @@ RUN /bin/mkdir -p ${SERVER_ROOT}; \
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
RUN /bin/chown php:php /usr/local/bin/composer; \ RUN /bin/chmod +rx /usr/local/bin/composer; \
/bin/chmod +rx /usr/local/bin/composer; \
/bin/microdnf clean all; \ /bin/microdnf clean all; \
/bin/rm -rf /var/cache/yum/*; \ /bin/rm -rf /var/cache/yum/*; \
/bin/rm -rf /var/lib/yum/history/*; \ /bin/rm -rf /var/lib/yum/history/*; \