Skip to content

Commit d8f5b7f

Browse files
committed
use ubuntu 22 and add amd version
1 parent 49b2276 commit d8f5b7f

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

.github/workflows/build-grpc.yml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build gRPC PHP (PECL ARM64)
1+
name: Build gRPC PHP (PECL Multi-Arch)
22

33
# Mengizinkan eksekusi manual
44
on:
@@ -14,9 +14,20 @@ on:
1414
default: '8.3'
1515

1616
jobs:
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

Comments
 (0)