1- name : Build gRPC PHP (PECL ARM64 )
1+ name : Build gRPC PHP (PECL Multi-Arch )
22
33# Mengizinkan eksekusi manual
44on :
1414 default : ' 8.3'
1515
1616jobs :
17- build-pecl-arm :
18- # Menggunakan server fisik ARM64 dari GitHub (Super Cepat)
19- runs-on : ubuntu-24.04-arm
17+ build-pecl :
18+ strategy :
19+ # Matrix akan menjalankan job ini berulang kali sesuai daftar di bawah
20+ matrix :
21+ include :
22+ # 1. Target untuk PC Lokal Anda (Intel/AMD64)
23+ - os : ubuntu-22.04
24+ arch : amd64
25+ # 2. Target untuk Server VPS Anda (Native ARM64)
26+ - os : ubuntu-22.04-arm
27+ arch : arm64
28+
29+ # Server yang digunakan akan menyesuaikan dengan matrix di atas
30+ runs-on : ${{ matrix.os }}
2031
2132 steps :
2233 - name : 1. Install Dependensi Sistem
@@ -28,25 +39,21 @@ jobs:
2839 run : |
2940 sudo add-apt-repository -y ppa:ondrej/php
3041 sudo apt-get update
31- # php-pear wajib diinstall agar perintah 'pecl' tersedia
3242 sudo apt-get install -y php${{ github.event.inputs.php_version }}-dev php${{ github.event.inputs.php_version }}-cli php-pear
3343
34- - name : 3. Install gRPC via PECL (Proses Build)
35- # PECL akan mengunduh source, menjalankan phpize, configure, dan make otomatis
44+ - name : 3. Install gRPC via PECL
3645 run : |
3746 sudo pecl install grpc-${{ github.event.inputs.grpc_version }}
3847
3948 - name : 4. Ambil File grpc.so
4049 run : |
41- # Bertanya ke PHP di mana PECL meletakkan hasil build-nya
4250 EXT_DIR=$(php-config --extension-dir)
4351 echo "File grpc.so berhasil dibuat di: $EXT_DIR"
44-
45- # Pindahkan file tersebut ke folder kerja utama agar bisa didownload
4652 cp $EXT_DIR/grpc.so ./grpc.so
4753
4854 - name : 5. Upload grpc.so sebagai Artifact
4955 uses : actions/upload-artifact@v4
5056 with :
51- name : grpc-arm64-pecl-php${{ github.event.inputs.php_version }}-v${{ github.event.inputs.grpc_version }}
57+ # Nama file zip akan otomatis dibedakan (amd64 vs arm64) agar tidak tertimpa
58+ name : grpc-${{ matrix.arch }}-php${{ github.event.inputs.php_version }}-v${{ github.event.inputs.grpc_version }}
5259 path : ./grpc.so
0 commit comments