Skip to content

CI

CI #1437

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- "*.*"
- master
schedule:
- cron: "0 4 * * *"
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php-version:
- '8.0'
- '8.1'
- '8.2'
symfony-version:
- '5.4.*'
- '6.0.*'
- '6.2.*'
dependencies:
- 'lowest'
- 'highest'
remove-dependencies: [ '' ]
coverage: [ 'none' ]
exclude:
- php-version: '8.0'
symfony-version: '6.2.*'
include:
- php-version: '8.0'
symfony-version: '5.4.*'
dependencies: 'lowest'
remove-dependencies: '--dev symfony/validator doctrine/orm doctrine/annotations'
- php-version: '8.1'
symfony-version: '5.4.*'
dependencies: 'lowest'
coverage: "pcov"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
tools: flex
php-version: "${{ matrix.php-version }}"
coverage: "${{ matrix.coverage }}"
- name: "Change stability"
if: "matrix.stability != ''"
run: perl -pi -e 's/^}$/,"minimum-stability":"'"${{ matrix.minimum-stability }}"'"}/' composer.json && cat composer.json
- name: "Webonyx GraphQL version"
if: "matrix.graphql-version != ''"
run: composer require "webonyx/graphql-php:${{ matrix.graphql-version }}" --dev --no-update
- name: Remove dependencies
if: "matrix.remove-dependencies != ''"
run: composer remove --no-update ${{ matrix.remove-dependencies }}
- name: "Install dependencies"
uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.dependencies }}
env:
SYMFONY_REQUIRE: "${{ matrix.symfony-version }}"
- name: "Run tests"
run: composer test
- name: "Upload coverage results to Coveralls"
if: "matrix.coverage == 'pcov'"
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.5.1/php-coveralls.phar
php php-coveralls.phar --coverage_clover=build/logs/clover.xml -v
coding-standard:
runs-on: ubuntu-20.04
name: Coding Standard
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
tools: flex
php-version: "8.1"
- name: "Install dependencies"
uses: ramsey/composer-install@v2
- name: "Check coding standard"
run: composer check-cs
static-analysis:
runs-on: ubuntu-20.04
name: "Static analysis"
strategy:
fail-fast: false
matrix:
php-version:
- '8.1'
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: ${{ matrix.php-version }}
coverage: "none"
- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2"
with:
path: "~/.composer/cache"
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
- name: "Install dependencies"
uses: ramsey/composer-install@v2
- name: "Run static-analysis"
run: composer static-analysis