Skip to content

CI

CI #97

Workflow file for this run

name: CI
on:
pull_request: ~
push:
branches:
- '*'
tags:
- '*'
schedule:
- cron: 0 13 15 * *
jobs:
coverage:
name: Coverage
runs-on: ubuntu-latest
if: github.event_name != 'schedule'
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
extensions: intl, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: composer install --no-interaction --no-suggest
- name: Generate the coverage report
run: phpdbg -qrr vendor/bin/phpunit --coverage-clover=clover.xml --colors=always
- name: Upload the coverage report
uses: codecov/codecov-action@v1
with:
file: ./clover.xml
fail_ci_if_error: true
coding-style:
name: Coding Style
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
extensions: intl, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: composer install --no-interaction --no-suggest
- name: Check the coding style
run: vendor/bin/ecs check src tests --no-progress-bar --ansi
- name: Analyze the code
run: |
vendor/bin/phpstan analyse src tests --level=8 --no-progress
vendor/bin/psalm --no-suggestions --threads=4 --no-progress
tests:
name: PHP ${{ matrix.php }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: intl, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer install --no-interaction --no-suggest
- name: Run the unit tests
run: vendor/bin/phpunit --colors=always
php82:
name: PHP 8.2
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
extensions: intl, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer install --no-interaction --no-suggest --ignore-platform-req=php
- name: Run the unit tests
run: vendor/bin/phpunit --colors=always
prefer-lowest:
name: Prefer Lowest
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.1
extensions: intl, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer update --prefer-lowest --prefer-stable --no-interaction --no-suggest
- name: Run the unit tests
run: vendor/bin/phpunit --colors=always
icu-lowest:
name: Lowest ICU version
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.1
extensions: intl-50.2, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer update --no-interaction --no-suggest
- name: Run the unit tests
run: vendor/bin/phpunit --colors=always
icu-highest:
name: Highest ICU version
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.1
extensions: intl-67.1, mbstring, pcre
tools: prestissimo
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer update --no-interaction --no-suggest
- name: Run the unit tests
run: vendor/bin/phpunit --colors=always
windows:
name: Windows
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
php: [7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: intl, mbstring, pcre
ini-values: memory_limit=1G
tools: prestissimo
coverage: none
- name: Adjust the Git autocrlf setting
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v2
- name: Install the dependencies
run: |
composer remove --dev --no-update contao/* phpstan/* psalm/* slam/* vimeo/*
composer install --no-interaction --no-suggest --no-progress
- name: Run the unit tests
run: vendor/bin/phpunit.bat --colors=always