Update all non-major dependencies #584
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: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
build: | |
strategy: | |
max-parallel: 15 | |
matrix: | |
operating-system: [ubuntu-latest, macOS-latest] | |
php-versions: ['8.1', '8.2'] | |
# TODO : enable tests on windows | |
#include: | |
# - operating-system: windows-latest | |
# php-versions: 8.1 | |
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }} | |
runs-on: ${{ matrix.operating-system }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: mbstring, dom, intl, iconv | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress --no-suggest | |
- name: Install tools | |
run: ./scripts/install_tools.sh | |
shell: bash | |
- name: Check formatting | |
run: composer run-script lint | |
env: | |
PHP_CS_FIXER_IGNORE_ENV: 1 | |
- name: Run test suite | |
run: composer run-script test | |
frontend: | |
name: Frontend tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: '8.1' | |
extensions: mbstring, dom, intl, iconv | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress --no-suggest | |
- name: Generate documentation | |
run: bin/daux generate | |
- name: Generate documentation in single file | |
run: bin/daux generate --format=html-file --destination=static-single | |
- name: Setup Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: '20.x' | |
cache: 'yarn' | |
- name: yarn install | |
run: yarn install | |
- name: yarn build | |
run: yarn build | |
- name: yarn test | |
run: yarn test | |
sonarcloud: | |
name: "SonarCloud" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: 8.1 | |
extensions: mbstring, dom, intl, iconv | |
coverage: xdebug | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress --no-suggest | |
- name: Install tools | |
run: ./scripts/install_tools.sh | |
- name: Run test suite | |
run: composer run-script test:coverage | |
- name: Fix code coverage paths | |
run: sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.xml | |
## Set the latest tag to use to detect "new code" periods | |
- id: project_version | |
run: echo "project_version=$(git tag -l --sort=-creatordate --format='%(refname:short)' | head -n1)" >> $GITHUB_OUTPUT | |
- name: SonarCloud Scan | |
uses: SonarSource/[email protected] | |
with: | |
args: > | |
-Dsonar.projectVersion=`${{ steps.project_version.outputs.project_version }}` | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |