feat(python): add ASGI support (Django) #3193
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: php | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
integration: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- 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.1 # EOL: December 31th, 2025 | |
- 8.2 # EOL: December 31th, 2026 | |
- 8.3 # EOL: December 31th, 2027 | |
# https://endoflife.date/laravel | |
laravel: | |
- 10.* # EOL: February 4th, 2025 | |
name: build (${{ matrix.php }} w/ Laravel ${{ matrix.laravel }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
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-laravel11: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: packages/php | |
strategy: | |
fail-fast: true | |
matrix: | |
# https://endoflife.date/php | |
php: | |
- 8.2 # EOL: December 31th, 2026 | |
- 8.3 # EOL: December 31th, 2027 | |
# https://endoflife.date/laravel | |
laravel: | |
- 11.* # EOL: March 12th, 2026 | |
name: build (${{ matrix.php }} w/ Laravel ${{ matrix.laravel }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
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 |