Skip to content

Commit 80f751a

Browse files
committed
add QEMU/ARM build
1 parent 48f343c commit 80f751a

File tree

1 file changed

+34
-16
lines changed

1 file changed

+34
-16
lines changed

.github/workflows/ci-cd.yml

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)