@@ -14,49 +14,23 @@ jobs:
14
14
build_test_maybe_release :
15
15
strategy :
16
16
matrix :
17
- include :
18
- - variant : ' cli'
19
- php_version : ' 8.1'
20
- - variant : ' apache'
21
- php_version : ' 8.1'
22
- - variant : ' fpm'
23
- php_version : ' 8.1'
24
- - variant : ' cli'
25
- php_version : ' 8.0'
26
- - variant : ' apache'
27
- php_version : ' 8.0'
28
- - variant : ' fpm'
29
- php_version : ' 8.0'
30
- - variant : ' cli'
31
- php_version : ' 7.4'
32
- - variant : ' apache'
33
- php_version : ' 7.4'
34
- - variant : ' fpm'
35
- php_version : ' 7.4'
36
- - variant : ' cli'
37
- php_version : ' 7.3'
38
- - variant : ' apache'
39
- php_version : ' 7.3'
40
- - variant : ' fpm'
41
- php_version : ' 7.3'
42
- - variant : ' cli'
43
- php_version : ' 7.2'
44
- - variant : ' apache'
45
- php_version : ' 7.2'
46
- - variant : ' fpm'
47
- php_version : ' 7.2'
17
+ variant : ['cli','apache','fpm']
18
+ php_version : ['8.1','8.0','7.4', '7.3','7.2']
48
19
runs-on : ubuntu-latest
49
20
steps :
50
21
- name : Set up QEMU
51
22
uses : docker/setup-qemu-action@v1
52
23
- name : Set up Docker Buildx
53
24
uses : docker/setup-buildx-action@v1
54
- - uses : actions/checkout@v1
55
- - name : Build and test
25
+ - name : Checkout
26
+ uses : actions/checkout@v1
27
+ - name : Build
56
28
run : |
57
- PLATFORM="linux/amd64" PHP_VERSION="${{ matrix.php_version }}" BRANCH="v4" VARIANT="${{ matrix.variant }}" ./build-and-test.sh
58
- PUSH=0 PLATFORM="linux/arm64" PHP_VERSION="${{ matrix.php_version }}" BRANCH="v4" VARIANT="${{ matrix.variant }}" ./build-load-or-push.sh
59
- docker images | grep thecodingmachine/php
29
+ PHP_VERSION="${{ matrix.php_version }}"
30
+ docker buildx bake --load \
31
+ --platform=${PLATFORM:$(uname -p)}} \
32
+ php${PHP_VERSION//.}-${{ matrix.variant }}
33
+ docker images --filter=reference=thecodingmachine/php
60
34
- name : Login to DockerHub
61
35
# Merge ~ push.
62
36
if : ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
@@ -68,20 +42,10 @@ jobs:
68
42
# Merge ~ push.
69
43
if : ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
70
44
run : |
71
- BRANCH_VARIANT=`echo "${{ matrix.variant }}" | sed 's/\./-/g'`
72
- PUSH=1 PLATFORM="linux/amd64,linux/arm64" PHP_VERSION="${{ matrix.php_version }}" BRANCH="v4" VARIANT="${{ matrix.variant }}" ./build-load-or-push.sh
73
- # Let's also tag PHP patch releases
74
- PHP_PATCH_VERSION=`docker run --rm thecodingmachine/php:${{ matrix.php_version }}-v4-slim-${BRANCH_VARIANT} php -v | head -n1 | grep -P '\d+\.\d+\.\d+' -o | head -n1`
75
- echo "Tagging patch release $PHP_PATCH_VERSION"
76
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-slim-${BRANCH_VARIANT} thecodingmachine/php:${PHP_PATCH_VERSION}-v4-slim-${BRANCH_VARIANT}
77
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-${BRANCH_VARIANT} thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}
78
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-${BRANCH_VARIANT}-node10 thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node10
79
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-${BRANCH_VARIANT}-node12 thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node12
80
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-${BRANCH_VARIANT}-node14 thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node14
81
- docker tag thecodingmachine/php:${{ matrix.php_version }}-v4-${BRANCH_VARIANT}-node16 thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node16
82
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-slim-${BRANCH_VARIANT}
83
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}
84
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node10
85
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node12
86
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node14
87
- docker push thecodingmachine/php:${PHP_PATCH_VERSION}-v4-${BRANCH_VARIANT}-node16
45
+ PHP_VERSION="${{ matrix.php_version }}"
46
+ PHP_PATCH_VERSION=`docker run --rm thecodingmachine/php:${PHP_VERSION}-v4-slim-${BRANCH_VARIANT} php -v | head -n1 | grep -P '\d+\.\d+\.\d+' -o | head -n1`
47
+ TAG=${PHP_PATCH_VERSION} docker buildx bake --push \
48
+ --cache-from=type=local,src=/tmp/buildx-cache \
49
+ --cache-to=type=local,dest=/tmp/buildx-cache \
50
+ --platform=${PLATFORM:$(uname -p)}} \
51
+ php${PHP_VERSION//.}-${{ matrix.variant }}
0 commit comments