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 git run: | apt-get update -q apt-get install -qy --no-install-recommends git - name: Checkout uses: actions/checkout@v3 with: submodules: recursive - name: Prepare source code run: | rm -rf "$GITHUB_WORKSPACE/php/ext/google/protobuf/third_party" cp -r "$GITHUB_WORKSPACE/third_party" "$GITHUB_WORKSPACE/php/ext/google/protobuf" cp "$GITHUB_WORKSPACE/LICENSE" "$GITHUB_WORKSPACE/php/ext/google/protobuf" - name: Create package run: | cd /tmp rm -rf protobuf-*.tgz pecl package "$GITHUB_WORKSPACE/php/ext/google/protobuf/package.xml" - name: Compile extension run: | cd /tmp MAKE="make -j$(nproc)" pecl install protobuf-*.tgz - name: Enable extension run: docker-php-ext-enable protobuf - name: Inspect extension run: php --ri protobuf