feat: verify the signature timestamp, report the profile, and decode the filters documents use #273
This file contains hidden or 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: CI | |
| # Pull requests targeting main only. Branch pushes are not built: every change | |
| # reaches main through a pull request, so building both duplicated each run. | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Laravel 13 supports PHP 8.3-8.5 and the package floor is 8.4. | |
| # Laravel 12 is not supported: it requires symfony/process ^7.2 while | |
| # Pest 5 requires ^8.1, so the two cannot be installed together, and | |
| # Laravel 12 leaves support in 2027 anyway. See docs/decisions/0005-php-and-laravel-floor.md. | |
| php: [ '8.4', '8.5' ] | |
| name: PHP ${{ matrix.php }} - Laravel 13 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| extensions: mbstring, dom, fileinfo, openssl, json, gd, imagick, bcmath, sqlite3 | |
| coverage: pcov | |
| - name: Validate PHP and Composer | |
| run: | | |
| php -v | |
| composer -V | |
| composer validate --strict | |
| - name: Install dependencies | |
| run: composer update --prefer-dist --prefer-stable --no-interaction --no-progress | |
| - name: Run tests | |
| run: composer test -- --exclude-group=network | |
| # These reach a live timestamp authority, so an outage on their side is | |
| # not a defect in this package. Reported, never blocking. | |
| - name: Run tests against a live timestamp authority | |
| continue-on-error: true | |
| run: vendor/bin/pest --group=network | |
| quality: | |
| name: Code style and static analysis | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: '8.5' | |
| extensions: mbstring, dom, fileinfo, openssl, json, gd, imagick, bcmath, sqlite3 | |
| coverage: none | |
| tools: composer:v2 | |
| - name: Install dependencies | |
| run: composer update --prefer-dist --prefer-stable --no-interaction --no-progress | |
| - name: Check code style | |
| run: vendor/bin/pint --test | |
| - name: Check dependencies | |
| run: vendor/bin/composer-dependency-analyser | |
| - name: Check composer.json formatting | |
| run: composer normalize --dry-run | |
| - name: Run static analysis | |
| run: vendor/bin/phpstan analyse --no-progress --memory-limit=1G | |
| # src/ is fully typed as of PR 5; the gate keeps it that way. | |
| - name: Check type coverage | |
| run: vendor/bin/pest --type-coverage --min=100 |