Skip to content

feat(python): add ASGI support (Django) #3193

feat(python): add ASGI support (Django)

feat(python): add ASGI support (Django) #3193

Workflow file for this run

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