Update packages (#434) #2385
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 tests | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
info: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- name: OS info | |
run: cat /etc/os-release | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- name: PHP info | |
run: | | |
php -v | |
php -m | |
composer-validate: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Validate composer.json and composer.lock | |
run: composer --working-dir=app validate | |
check-file-patterns: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: make --directory=app check-file-patterns | |
check-makefile: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app check-makefile | |
check-sri-macros-concat: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: make --directory=app check-sri-macros-concat | |
lint-php: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app lint-php | |
lint-latte: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app lint-latte | |
lint-neon: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app lint-neon | |
lint-xml: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: make --directory=app lint-xml-auto-install | |
phpcs: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Get PHP_CodeSniffer cache file pattern | |
id: phpcs-cache | |
run: echo "file=$(php -r "echo sys_get_temp_dir() . '/phpcs.*';")" >> $GITHUB_OUTPUT | |
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 | |
with: | |
path: ${{ steps.phpcs-cache.outputs.file }} | |
key: phpcs-cache-php${{ matrix.php-version }} | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app phpcs | |
phpstan: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Get PHPStan result cache directory | |
id: phpstan-cache | |
run: echo "dir=$(php -r "echo sys_get_temp_dir() . '/phpstan';")" >> $GITHUB_OUTPUT | |
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 | |
with: | |
path: ${{ steps.phpstan-cache.outputs.dir }} | |
key: phpstan-cache-php${{ matrix.php-version }} | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app phpstan | |
phpstan-vendor: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Get PHPStan result cache directory | |
id: phpstan-cache | |
run: echo "dir=$(php -r "echo sys_get_temp_dir() . '/phpstan';")" >> $GITHUB_OUTPUT | |
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 | |
with: | |
path: ${{ steps.phpstan-cache.outputs.dir }} | |
key: phpstan-vendor-cache-php${{ matrix.php-version }} | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app phpstan-vendor | |
tester: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: pcov | |
php-version: ${{ matrix.php-version }} | |
- name: Create symlink in /srv/www | |
run: | | |
sudo mkdir --parents /srv/www | |
sudo ln --symbolic $GITHUB_WORKSPACE /srv/www | |
- run: make --directory=app tester | |
- name: Failed test output, if any | |
if: failure() | |
run: for i in $(find ./app/tests -name \*.actual); do echo "--- $i"; cat $i; echo; echo; done | |
- name: Upload test code coverage | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
if: success() | |
with: | |
name: Test code coverage (PHP ${{ matrix.php-version }}) | |
path: 'app/temp/coverage.html' | |
retention-days: 5 | |
psalm: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app psalm | |
composer-dependency-analyser: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.3" | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2 | |
with: | |
coverage: none | |
php-version: ${{ matrix.php-version }} | |
- run: make --directory=app composer-dependency-analyser |