Browse Source

Update github action CI

crazywhalecc 2 years ago
parent
commit
6fab3e789d
1 changed files with 15 additions and 28 deletions
  1. 15 28
      .github/workflows/build-php.yml

+ 15 - 28
.github/workflows/build-php.yml

@@ -8,44 +8,31 @@ on:
       - "docker/**"
 
 jobs:
-  x86_64-step-1:
-    name: x86_64 Step 1
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - name: Build Docker container for preparing PHP compile environment
-        run: cd docker/ && docker build . --tag static-php --build-arg USE_BACKUP_ADDRESS=yes
-  aarch64-step-1:
-    name: aarch64 Step 1
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - name: Check Dockerfile to aarch64
-        run: cd docker/ && sed -ie 's/alpine:latest/multiarch\/alpine:aarch64-edge/g' Dockerfile
-      - name: Build Docker container for preparing PHP compile environment
-        run: cd docker/ && docker build . --tag static-php --build-arg USE_BACKUP_ADDRESS=yes
-  armv7l-step-1:
-    name: armv7l Step 1
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - name: Check Dockerfile to armv7l
-        run: cd docker/ && sed -ie 's/alpine:latest/multiarch\/alpine:armv7-edge/g' Dockerfile
-      - name: Build Docker container for preparing PHP compile environment
-        run: cd docker/ && docker build . --tag static-php --build-arg USE_BACKUP_ADDRESS=yes
   integration:
     name: Build PHP ${{ matrix.php-versions }} for ${{ matrix.arch }}
     runs-on: ubuntu-latest
-    needs: ${{ matrix.arch }}-step-1
     strategy:
       matrix:
         php-versions: [ "7.2.34", "7.3.33", "7.4.30", "8.0.20", "8.1.7" ]
         arch: [ "x86_64", "aarch64", "armv7l" ]
     steps:
+      - uses: actions/checkout@v2
+      - name: Check Dockerfile to ${{ matrix.arch }}
+        run: |
+          cd docker/
+          if [[ "${{ matrix.arch }}" != "x86_64" ]]; then
+            if [[ "${{ matrix.arch }}" = "armv7l" ]]; then
+              sed -ie 's/alpine:latest/multiarch\/alpine:armv7-edge/g' Dockerfile
+            else
+              sed -ie 's/alpine:latest/multiarch\/alpine:${{ matrix.arch }}-edge/g' Dockerfile
+            fi
+            docker run --rm --privileged multiarch/qemu-user-static:register --reset
+          fi
       - name: Build micro and PHP distribution ${{ matrix.php-versions }} for ${{ matrix.arch }}
         run: |
-          mkdir ./dist && \
-          docker run --rm -v $(pwd)/dist:/dist/ static-php build-php original ${{ matrix.php-versions }} all /dist/
+          cd docker/ && docker build . --tag static-php --build-arg USE_BACKUP_ADDRESS=yes && \
+            mkdir ../dist && \
+            docker run --rm -v $(pwd)/../dist:/dist/ static-php build-php original ${{ matrix.php-versions }} all /dist/
       - name: Pack PHP ${{ matrix.php-versions }} to archive
         run: |
           cd dist