@@ -2,13 +2,10 @@ name: CI/CD
22
33on : [push, workflow_dispatch]
44
5- env :
6- DOCKER_BUILDKIT : 1
7-
85jobs :
96 build :
10- name : Build
117 runs-on : ubuntu-latest
8+
129 strategy :
1310 matrix :
1411 version : ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
@@ -18,46 +15,75 @@ jobs:
1815 - name : Checkout code
1916 uses : actions/checkout@v2.4.0
2017
21- - name : Build
22- run : |
23- docker build \
24- --tag kooldev/php:${{ matrix.version }}${{ matrix.type }} \
25- ${{ matrix.version }}${{ matrix.type }}
18+ - name : Setup QEMU
19+ uses : docker/setup-qemu-action@v1
2620
27- - name : Build (nginx)
28- run : |
29- docker build \
30- --tag kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} \
31- ${{ matrix.version }}-nginx${{ matrix.type }}
32-
33- - name : Tests
34- run : |
35- for suffix in '' -nginx; do
36- docker run kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} php -v
37- docker run kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} composer -V
38- docker run kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} composer1 -V
39- docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} php -v
40- docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} composer -V
41- docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} composer1 -V
42- docker run kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} php -m | grep readline
43- docker run -e ENABLE_XDEBUG=true kooldev/php:${{ matrix.version }}$suffix${{ matrix.type }} php -m
44- done
45-
46- docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} nginx -v
47- docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} supervisord version
21+ - name : Setup Docker Buildx
22+ uses : docker/setup-buildx-action@v1
4823
4924 - name : Login to DockerHub
50- uses : docker/login-action@v1.12.0
25+ uses : docker/login-action@v1
5126 if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-php'
5227 with :
5328 username : ${{ secrets.DOCKER_USERNAME }}
5429 password : ${{ secrets.DOCKER_PASSWORD }}
5530
56- - name : Push to DockerHub
31+ - name : Build and export to Docker
32+ uses : docker/build-push-action@v2
33+ with :
34+ context : ${{ matrix.version }}${{ matrix.type }}
35+ load : true
36+ tags : kooldev/php:${{ matrix.version }}${{ matrix.type }}
37+
38+ - name : Tests
39+ run : |
40+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} php -v
41+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} composer -V
42+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} composer1 -V
43+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}${{ matrix.type }} php -v
44+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}${{ matrix.type }} composer -V
45+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}${{ matrix.type }} composer1 -V
46+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} php -m | grep readline
47+ docker run -e ENABLE_XDEBUG=true kooldev/php:${{ matrix.version }}${{ matrix.type }} php -m
48+
49+ - name : Build and push
50+ uses : docker/build-push-action@v2
5751 if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-php'
52+ with :
53+ context : ${{ matrix.version }}${{ matrix.type }}
54+ platforms : linux/amd64,linux/arm64
55+ push : true
56+ tags : kooldev/php:${{ matrix.version }}${{ matrix.type }}
57+
58+ - name : Build and export to Docker (nginx)
59+ uses : docker/build-push-action@v2
60+ with :
61+ context : ${{ matrix.version }}-nginx${{ matrix.type }}
62+ load : true
63+ tags : kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }}
64+
65+ - name : Tests (nginx)
5866 run : |
59- docker push kooldev/php:${{ matrix.version }}${{ matrix.type }}
60- docker push kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }}
67+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} php -v
68+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} composer -V
69+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} composer1 -V
70+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} php -v
71+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} composer -V
72+ docker run -e ASUSER=1000 kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} composer1 -V
73+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} php -m | grep readline
74+ docker run -e ENABLE_XDEBUG=true kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} php -m
75+
76+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} nginx -v
77+ docker run kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }} supervisord version
78+
79+ - name : Build and push (nginx)
80+ uses : docker/build-push-action@v2
81+ if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-php'
82+ with :
83+ context : ${{ matrix.version }}-nginx${{ matrix.type }}
84+ platforms : linux/amd64,linux/arm64
85+ push : true
86+ tags : kooldev/php:${{ matrix.version }}-nginx${{ matrix.type }}
6187
6288 trigger-build-wordpress :
6389 name : Trigger Wordpress Build
0 commit comments