Skip to content

feat(validation): read the Document Security Store #244

feat(validation): read the Document Security Store

feat(validation): read the Document Security Store #244

Workflow file for this run

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