Skip to content

Commit 0d2de60

Browse files
committed
[php] Test php 8.4.0
Signed-off-by: Kang Huaishuai <khs1994@khs1994.com>
1 parent 2282d52 commit 0d2de60

File tree

16 files changed

+1200
-7
lines changed

16 files changed

+1200
-7
lines changed

dockerfile/php/.github/workflows/php_8_1.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,5 +197,5 @@ jobs:
197197
PHP_TAG_VERSION: "8.1.31"
198198
TYPE: ${{ matrix.TYPE }}
199199
add_mirror: registry.us-east-1.aliyuncs.com/khs1994-us/php docker.cnb.cool/khs1994-docker/khs1994/php ghcr.io/khs1994/php
200-
add_mirror2: ghcr.io/lrew/php
200+
add_mirror2: ghcr.io/lrew/php docker.cnb.cool/khs1994-docker/lrew/php
201201
name: 'Build Image'

dockerfile/php/.github/workflows/php_8_2.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,5 +197,5 @@ jobs:
197197
PHP_TAG_VERSION: "8.2.26"
198198
TYPE: ${{ matrix.TYPE }}
199199
add_mirror: registry.us-east-1.aliyuncs.com/khs1994-us/php docker.cnb.cool/khs1994-docker/khs1994/php ghcr.io/khs1994/php
200-
add_mirror2: ghcr.io/lrew/php
200+
add_mirror2: ghcr.io/lrew/php docker.cnb.cool/khs1994-docker/lrew/php
201201
name: 'Build Image'

dockerfile/php/.github/workflows/php_8_3.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,6 @@ jobs:
209209
PHP_TAG_VERSION: "8.3.12"
210210
TYPE: ${{ matrix.TYPE }}
211211
add_mirror: registry.us-east-1.aliyuncs.com/khs1994-us/php docker.cnb.cool/khs1994-docker/khs1994/php ghcr.io/khs1994/php
212-
add_mirror2: ghcr.io/lrew/php
212+
add_mirror2: ghcr.io/lrew/php docker.cnb.cool/khs1994-docker/lrew/php
213213
ARM: ${{ matrix.DIST == '24.04-arm' }}
214214
name: 'Build Image'
Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
on:
2+
push:
3+
branches:
4+
- master
5+
tags:
6+
- '*'
7+
workflow_dispatch:
8+
inputs:
9+
PHP_VERSION:
10+
description: php version
11+
required: true
12+
default: "8.4.0"
13+
14+
name: PHP_8.4
15+
16+
env:
17+
PHP_CUSTOM_VERSION: ${{ github.event.inputs.PHP_VERSION }}
18+
19+
defaults:
20+
run:
21+
shell: bash --noprofile --norc -exo pipefail {0}
22+
23+
jobs:
24+
build:
25+
name: Build
26+
strategy:
27+
max-parallel: 1
28+
matrix:
29+
# TYPE: [CLI, FPM, UNIT, COMPOSER, SWOOLE, PPM, SUPERVISORD]
30+
TYPE: [CLI, FPM, COMPOSER, S6, UNIT, SWOOLE]
31+
DIST: ["24.04-arm","24.04"]
32+
runs-on: ubuntu-${{ matrix.DIST }}
33+
steps:
34+
- uses: actions/checkout@main
35+
with:
36+
fetch-depth: 2
37+
- run: |
38+
env
39+
docker --version
40+
docker compose version
41+
name: 'manifest'
42+
- run: |
43+
echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin
44+
# echo ${DOCKER_PASSWORD} | docker login -u ${TENCENT_DOCKER_USERNAME} --password-stdin uswccr.ccs.tencentyun.com
45+
echo ${DOCKER_PASSWORD} | docker login -u ${ALIYUN_DOCKER_USERNAME} --password-stdin registry.us-east-1.aliyuncs.com
46+
echo ${GHCR_IO_TOKEN} | docker login -u khs1994 --password-stdin ghcr.io
47+
echo ${CODING_DOCKER_PASSWORD} | docker login -u cnb --password-stdin docker.cnb.cool
48+
name: 'Docker Login'
49+
env:
50+
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
51+
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
52+
TENCENT_DOCKER_USERNAME: ${{secrets.TENCENT_DOCKER_USERNAME}}
53+
ALIYUN_DOCKER_USERNAME: ${{secrets.ALIYUN_DOCKER_USERNAME}}
54+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
55+
GHCR_IO_TOKEN: ${{secrets.GHCR_IO_TOKEN}}
56+
CODING_DOCKER_PASSWORD: ${{secrets.CODING_DOCKER_PASSWORD}}
57+
- uses: docker-practice/actions-setup-docker@master
58+
with:
59+
docker_channel: test
60+
docker_version: "20.10"
61+
- run: |
62+
docker --version
63+
docker compose version
64+
docker buildx version
65+
docker
66+
name: 'install-after-manifest'
67+
- run: |
68+
cp .env.example .env
69+
70+
if [ -n "${PHP_CUSTOM_VERSION}" ];then
71+
export PHP_TAG_VERSION=$PHP_CUSTOM_VERSION
72+
fi
73+
74+
echo $GITHUB_REF | grep -q 'refs/tags/' && IS_TAG_EVENT=1 || true
75+
76+
if ! [ -n "${IS_TAG_EVENT}" -o "${GITHUB_EVENT_NAME}" = 'workflow_dispatch' ];then \
77+
IS_PUSH=--push; \
78+
DOCKER_HUB_USERNAME=$DOCKER_HUB_USERNAME_TEST; \
79+
mirror="${add_mirror2}"; \
80+
else \
81+
IS_PUSH=--push \
82+
&& mirror="${add_mirror}"; \
83+
fi
84+
85+
VCS_REF=`git rev-parse --short HEAD`
86+
87+
if [ "${ARM}" = "true" ];then
88+
IS_PUSH=""
89+
PLATFORM="linux/arm64"
90+
CACHE_IMAGE=ghcr.io/${DOCKER_HUB_USERNAME}/php-cache-arm
91+
92+
options="--build-arg USERNAME=$DOCKER_HUB_USERNAME \
93+
--build-arg VCS_REF=$VCS_REF \
94+
--build-arg PHP_VERSION=$PHP_TAG_VERSION \
95+
--cache-from=${CACHE_IMAGE}:${FOLDER}-${TYPE,,}-cache \
96+
--cache-to=${CACHE_IMAGE}:${FOLDER}-${TYPE,,}-cache"
97+
else
98+
CACHE_IMAGE=ghcr.io/${DOCKER_HUB_USERNAME}/php-cache
99+
CACHE_IMAGE_ARM=ghcr.io/${DOCKER_HUB_USERNAME}/php-cache-arm
100+
101+
options="--build-arg USERNAME=$DOCKER_HUB_USERNAME \
102+
--build-arg VCS_REF=$VCS_REF \
103+
--build-arg PHP_VERSION=$PHP_TAG_VERSION \
104+
--cache-from=${CACHE_IMAGE}:${FOLDER}-${TYPE,,}-cache \
105+
--cache-from=${CACHE_IMAGE_ARM}:${FOLDER}-${TYPE,,}-cache \
106+
--cache-to=${CACHE_IMAGE}:${FOLDER}-${TYPE,,}-cache"
107+
fi
108+
109+
110+
# CACHE_IMAGE_ARM=ghcr.io/${DOCKER_HUB_USERNAME}/php-cache-arm
111+
# CACHE_IMAGE=${DOCKER_HUB_USERNAME}/php
112+
113+
if [ "$TYPE" = "UNIT" ];then
114+
echo ::group::Build $TYPE
115+
docker buildx build $options \
116+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
117+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-unit-alpine \
118+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-unit-alpine ";done) \
119+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/unit
120+
echo ::endgroup::
121+
fi
122+
123+
if [ "$TYPE" = "SUPERVISORD" ];then
124+
echo ::group::Build $TYPE
125+
docker buildx build $options \
126+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
127+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-supervisord-alpine \
128+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-supervisord-alpine ";done) \
129+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/supervisord
130+
echo ::endgroup::
131+
fi
132+
133+
if [ "$TYPE" = "COMPOSER" ];then
134+
echo ::group::Build $TYPE
135+
docker buildx build $options \
136+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
137+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-composer-alpine \
138+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-composer-alpine ";done) \
139+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/composer
140+
echo ::endgroup::
141+
fi
142+
143+
if [ "$TYPE" = "SINGLE" ];then
144+
echo ::group::Build $TYPE
145+
docker buildx build $options \
146+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
147+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-single-alpine \
148+
${IS_PUSH} ${FOLDER}/single
149+
echo ::endgroup::
150+
fi
151+
152+
if [ "$TYPE" = "SWOOLE" ];then
153+
echo ::group::Build $TYPE
154+
docker buildx build $options \
155+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
156+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-swoole-alpine \
157+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-swoole-alpine ";done) \
158+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/swoole
159+
echo ::endgroup::
160+
fi
161+
162+
if [ "$TYPE" = "FPM" ];then
163+
echo ::group::Build $TYPE
164+
docker buildx build $options \
165+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
166+
--target=php -t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-fpm-alpine \
167+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-fpm-alpine ";done) \
168+
${fpmTagOptions} \
169+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/fpm
170+
echo ::endgroup::
171+
fi
172+
173+
if [ "$TYPE" = "CLI" ];then
174+
echo ::group::Build $TYPE
175+
docker buildx build $options \
176+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
177+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-cli-alpine \
178+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-cli-alpine ";done) \
179+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/cli
180+
echo ::endgroup::
181+
fi
182+
183+
if [ "$TYPE" = "S6" ];then
184+
echo ::group::Build $TYPE
185+
docker buildx build $options \
186+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
187+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-s6-alpine \
188+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-s6-alpine ";done) \
189+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/s6
190+
echo ::endgroup::
191+
fi
192+
193+
if [ "$TYPE" = "PPM" ];then
194+
echo ::group::Build $TYPE
195+
docker buildx build $options \
196+
--build-arg ALPINE_URL=${ALPINE_URL:-dl-cdn.alpinelinux.org} \
197+
-t $DOCKER_HUB_USERNAME/php:${PHP_TAG_VERSION}-ppm-alpine \
198+
$(for item in `echo $mirror`;do echo " -t ${item}:${PHP_TAG_VERSION}-ppm-alpine ";done) \
199+
--platform ${PLATFORM} ${IS_PUSH} ${FOLDER}/ppm
200+
echo ::endgroup::
201+
fi
202+
env:
203+
GITHUB_EVENT_NAME: ${{github.event_name}}
204+
DOCKER_HUB_USERNAME: khs1994
205+
DOCKER_HUB_USERNAME_TEST: lrew
206+
PLATFORM: linux/amd64,linux/arm64 #,linux/arm/v7
207+
PHP_VERSION: 8_4_X
208+
FOLDER: "8.4"
209+
PHP_TAG_VERSION: "8.4.0"
210+
TYPE: ${{ matrix.TYPE }}
211+
add_mirror: registry.us-east-1.aliyuncs.com/khs1994-us/php docker.cnb.cool/khs1994-docker/khs1994/php ghcr.io/khs1994/php
212+
add_mirror2: ghcr.io/lrew/php docker.cnb.cool/khs1994-docker/lrew/php
213+
ARM: ${{ matrix.DIST == '24.04-arm' }}
214+
name: 'Build Image'

dockerfile/php/.github/workflows/php_nightly.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,18 @@ jobs:
232232
with:
233233
image: ${{ steps.build.outputs.image }}
234234
args: --file=nightly/${{ steps.build.outputs.type }}/Dockerfile
235+
# Replace any "undefined" security severity values with 0. The undefined value is used in the case
236+
# of license-related findings, which do not do not indicate a security vulnerability.
237+
# See https://github.com/Erikvl87/docker-languagetool/issues/90 and https://github.com/github/codeql-action/issues/2187 for more context.
238+
- name: Post-process sarif output for security severities set to "undefined"
239+
run: |
240+
sed -i 's/"security-severity": "undefined"/"security-severity": "0"/g' snyk.sarif
241+
# Replace any "null" security severity values with 0. The undefined value is used in the case
242+
# the NVD CVSS Score is not available.
243+
# See https://github.com/Erikvl87/docker-languagetool/issues/90 and https://github.com/github/codeql-action/issues/2187 for more context.
244+
- name: Post-process sarif output for security severities set to "null"
245+
run: |
246+
sed -i 's/"security-severity": "null"/"security-severity": "0"/g' snyk.sarif
235247
- name: Upload result to GitHub Code Scanning
236248
uses: github/codeql-action/upload-sarif@v3
237249
continue-on-error: true

0 commit comments

Comments
 (0)