@@ -12,35 +12,53 @@ jobs:
1212 strategy :
1313 matrix :
1414 version : ['8.0', '8.1', '8.2']
15+ type : ['-swoole', '-nginx-swoole-prod']
1516
1617 steps :
1718 - name : Checkout code
18- uses : actions/checkout@v3 .1.0
19+ uses : actions/checkout@v4 .1.1
1920
20- - name : Build
21- run : |
22- docker build --pull -t kooldev/php:${{ matrix.version }}-swoole ${{ matrix.version }}-swoole
23- docker build --pull -t kooldev/php:${{ matrix.version }}-nginx-swoole-prod ${{ matrix.version }}-nginx-swoole-prod
21+ - name : Setup QEMU
22+ uses : docker/setup-qemu-action@v3
2423
25- - name : Tests
26- run : |
27- docker run kooldev/php:${{ matrix.version }}-swoole php -r "extension_loaded('swoole') or die(1);"
28- docker run kooldev/php:${{ matrix.version }}-swoole node -v
29- docker run kooldev/php:${{ matrix.version }}-swoole yarn -v
30- docker run kooldev/php:${{ matrix.version }}-nginx-swoole-prod php -r "extension_loaded('swoole') or die(1);"
24+ - name : Setup Docker Buildx
25+ uses : docker/setup-buildx-action@v3
3126
3227 - name : Login to DockerHub
33- uses : docker/login-action@v2.1.0
28+ uses : docker/login-action@v3
3429 if : github.ref == 'refs/heads/main' && github.repository == 'kool-dev/docker-php-swoole'
3530 with :
3631 username : ${{ secrets.DOCKER_USERNAME }}
3732 password : ${{ secrets.DOCKER_PASSWORD }}
3833
39- - name : Push to DockerHub
40- if : github.ref == 'refs/heads/main' && github.repository == 'kool-dev/docker-php-swoole'
34+ - name : Build and export to Docker
35+ uses : docker/build-push-action@v5
36+ with :
37+ context : ${{ matrix.version }}${{ matrix.type }}
38+ load : true
39+ tags : kooldev/php:${{ matrix.version }}${{ matrix.type }}
40+
41+ - name : Tests (dev)
42+ if : matrix.type == '-swoole'
4143 run : |
42- docker push kooldev/php:${{ matrix.version }}-nginx-swoole
43- docker push kooldev/php:${{ matrix.version }}-nginx-swoole-prod
44+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} php -r "extension_loaded('swoole') or die(1);"
45+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} node -v
46+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} yarn -v
47+
48+ - name : Tests (prod)
49+ if : matrix.type == '-nginx-swoole-prod'
50+ run : |
51+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} php -r "extension_loaded('swoole') or die(1);"
52+ docker run kooldev/php:${{ matrix.version }}${{ matrix.type }} nginx -v
53+
54+ - name : Build and push
55+ uses : docker/build-push-action@v5
56+ if : github.ref == 'refs/heads/main' && github.repository == 'kool-dev/docker-php-swoole'
57+ with :
58+ context : ${{ matrix.version }}${{ matrix.type }}
59+ platforms : linux/amd64,linux/arm64
60+ push : true
61+ tags : kooldev/php:${{ matrix.version }}${{ matrix.type }}
4462
4563 trigger-build-oci8 :
4664 name : Trigger OCI8 Build
0 commit comments