Skip to content

chore(BREAKING): node 18 #2824

chore(BREAKING): node 18

chore(BREAKING): node 18 #2824

Workflow file for this run

name: php
on:
push:
branches:
- main
pull_request:
jobs:
integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm ci --ignore-scripts
- run: make test-metrics-php-laravel
- run: make test-webhooks-php-laravel
- name: Cleanup
if: always()
run: docker-compose down
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/php
strategy:
fail-fast: true
matrix:
# https://endoflife.date/php
php:
- 8.0 # EOL: November 26th, 2023
- 8.1 # EOL: November 25th, 2024
- 8.2 # EOL: December 8th, 2025
# https://endoflife.date/laravel
laravel:
- 9.* # EOL: February 8th, 2024
name: build (${{ matrix.php }} w/ Laravel ${{ matrix.laravel }}
steps:
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/[email protected]
with:
path: ~/.composer/cache/files
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
# Installing a specific version of Laravel will force us to use compatible versions of
# `illuminate/http` and `illuminate/support`. If we didn't do this step then we'd always only
# ever test on the latest versions of those two packages.
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
composer update --prefer-stable --prefer-dist --no-interaction --no-suggest
- name: Check code standards
run: make lint
- name: Run static analysis
run: |
make static-analysis
make taint-analysis
- name: Run tests
run: make test
build-laravel10:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/php
strategy:
fail-fast: true
matrix:
# https://endoflife.date/php
php:
- 8.1 # EOL: November 25th, 2024
- 8.2 # EOL: December 8th, 2025
# https://endoflife.date/laravel
laravel:
- 10.* # EOL: February 4th, 2025
name: build (${{ matrix.php }} w/ Laravel ${{ matrix.laravel }}
steps:
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/[email protected]
with:
path: ~/.composer/cache/files
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
# Installing a specific version of Laravel will force us to use compatible versions of
# `illuminate/http` and `illuminate/support`. If we didn't do this step then we'd always only
# ever test on the latest versions of those two packages.
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
composer update --prefer-stable --prefer-dist --no-interaction --no-suggest
- name: Check code standards
run: make lint
- name: Run static analysis
run: |
make static-analysis
make taint-analysis
- name: Run tests
run: make test