chore: Add protobuf sync message example #1090
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |