Skip to content

chore: Add protobuf sync message example #1097

chore: Add protobuf sync message example

chore: Add protobuf sync message example #1097

Workflow file for this run

name: Pact-PHP Code Analysis & Test
on:
push:
pull_request:
# Once on the first of the month at 06:00 UTC
schedule:
- cron: 0 6 1 * *
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
php-cs:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [ '8.2' ]
steps:
- uses: actions/checkout@v3
name: Checkout repository
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
- uses: ramsey/composer-install@v2
with:
dependency-versions: 'locked'
- name: Code Style Analysis
run: composer run lint
- name: Static Code Analysis
run: composer run static-code-analysis
test:
runs-on: ${{ matrix.operating-system }}
needs:
- php-cs
strategy:
fail-fast: false
matrix:
operating-system: [ ubuntu-latest, macos-latest, windows-latest ]
php: [ '8.0', '8.1', '8.2' ]
dependencies: [ 'lowest', 'locked' ]
timeout-minutes: 5
name: PHP ${{ matrix.php }} on ${{ matrix.operating-system }} with ${{ matrix.dependencies }} dependencies
steps:
- uses: actions/checkout@v3
name: Checkout repository
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
extensions: ${{ matrix.operating-system == 'windows-latest' && matrix.php == '8.2' && 'sockets, curl, zip, ffi' || 'sockets, curl, zip, ffi, grpc' }}
php-version: ${{ matrix.php }}
coverage: none
ini-values: ${{ matrix.operating-system == 'windows-latest' && 'opcache.enable=0 opcache.enable_cli=0' || '' }}
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install gRPC Extension (for PHP 8.2 on Windows)
run: |
cd C:\tools\php
Invoke-WebRequest -Uri https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.zip -OutFile php8.2.zip
unzip php8.2.zip ext/php_grpc.dll
rm php8.2.zip
echo "extension=php_grpc.dll" >> php.ini
if: ${{ matrix.operating-system == 'windows-latest' && matrix.php == '8.2' }}
shell: pwsh
- name: Composer install
uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.dependencies }}
- name: Generate Library
run: composer gen-lib
- name: Composer test
run: composer test