49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
|
name: PHP extension
|
||
|
|
||
|
on:
|
||
|
- push
|
||
|
- pull_request
|
||
|
|
||
|
jobs:
|
||
|
build-php:
|
||
|
name: Build PHP extension
|
||
|
runs-on: ubuntu-latest
|
||
|
container: ${{ matrix.php-image }}
|
||
|
strategy:
|
||
|
matrix:
|
||
|
php-image:
|
||
|
- php:7.4-cli
|
||
|
- php:8.1-cli
|
||
|
steps:
|
||
|
- name: Install python3
|
||
|
run: |
|
||
|
apt-get update -q
|
||
|
apt-get install -qy python3
|
||
|
- name: Install bazel
|
||
|
run: |
|
||
|
apt-get install -qy wget
|
||
|
mkdir $HOME/bin
|
||
|
wget -O $HOME/bin/bazel https://github.com/bazelbuild/bazel/releases/download/5.3.2/bazel-5.3.2-linux-x86_64
|
||
|
chmod a+x $HOME/bin/bazel
|
||
|
- name: Install git
|
||
|
run: |
|
||
|
apt-get update -q
|
||
|
apt-get install -qy --no-install-recommends git
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v3
|
||
|
with:
|
||
|
submodules: recursive
|
||
|
- name: Create package
|
||
|
run: |
|
||
|
cd $GITHUB_WORKSPACE
|
||
|
rm -rf bazel-bin/php/protobuf-*.tgz
|
||
|
$HOME/bin/bazel build php:release
|
||
|
- name: Compile extension
|
||
|
run: |
|
||
|
cd /tmp
|
||
|
MAKE="make -j$(nproc)" pecl install $GITHUB_WORKSPACE/bazel-bin/php/protobuf-*.tgz
|
||
|
- name: Enable extension
|
||
|
run: docker-php-ext-enable protobuf
|
||
|
- name: Inspect extension
|
||
|
run: php --ri protobuf
|