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