|
|
|
name: PHP extension
|
|
|
|
|
|
|
|
on:
|
|
|
|
- push
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
|
|
|
|
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 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
|