mirror of
https://github.com/danog/phpdoc-parser.git
synced 2024-11-27 04:24:52 +01:00
155 lines
3.5 KiB
YAML
155 lines
3.5 KiB
YAML
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
|
|
|
|
name: "Build"
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- "1.9.x"
|
|
|
|
jobs:
|
|
lint:
|
|
name: "Lint"
|
|
runs-on: "ubuntu-latest"
|
|
|
|
strategy:
|
|
matrix:
|
|
php-version:
|
|
- "7.2"
|
|
- "7.3"
|
|
- "7.4"
|
|
- "8.0"
|
|
- "8.1"
|
|
- "8.2"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v3
|
|
|
|
- name: "Install PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
coverage: "none"
|
|
php-version: "${{ matrix.php-version }}"
|
|
|
|
- name: "Validate Composer"
|
|
run: "composer validate"
|
|
|
|
- name: "Install dependencies"
|
|
run: "composer install --no-interaction --no-progress"
|
|
|
|
- name: "Downgrade PHPUnit"
|
|
if: matrix.php-version == '7.2' || matrix.php-version == '7.3'
|
|
run: "composer require --dev phpunit/phpunit:^7.5.20 --update-with-dependencies"
|
|
|
|
- name: "Lint"
|
|
run: "make lint"
|
|
|
|
coding-standards:
|
|
name: "Coding Standard"
|
|
|
|
runs-on: "ubuntu-latest"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v3
|
|
|
|
- name: "Install PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
coverage: "none"
|
|
php-version: "8.0"
|
|
|
|
- name: "Validate Composer"
|
|
run: "composer validate"
|
|
|
|
- name: "Install dependencies"
|
|
run: "composer install --no-interaction --no-progress"
|
|
|
|
- name: "Lint"
|
|
run: "make lint"
|
|
|
|
- name: "Coding Standard"
|
|
run: "make cs"
|
|
|
|
tests:
|
|
name: "Tests"
|
|
runs-on: "ubuntu-latest"
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php-version:
|
|
- "7.2"
|
|
- "7.3"
|
|
- "7.4"
|
|
- "8.0"
|
|
- "8.1"
|
|
- "8.2"
|
|
dependencies:
|
|
- "lowest"
|
|
- "highest"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v3
|
|
|
|
- name: "Install PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
coverage: "none"
|
|
php-version: "${{ matrix.php-version }}"
|
|
|
|
- name: "Install lowest dependencies"
|
|
if: ${{ matrix.dependencies == 'lowest' }}
|
|
run: "composer update --prefer-lowest --no-interaction --no-progress"
|
|
|
|
- name: "Install highest dependencies"
|
|
if: ${{ matrix.dependencies == 'highest' }}
|
|
run: "composer update --no-interaction --no-progress"
|
|
|
|
- name: "Downgrade PHPUnit"
|
|
if: matrix.php-version == '7.2' || matrix.php-version == '7.3'
|
|
run: "composer require --dev phpunit/phpunit:^7.5.20 --update-with-dependencies"
|
|
|
|
- name: "Tests"
|
|
run: "make tests"
|
|
|
|
static-analysis:
|
|
name: "PHPStan"
|
|
runs-on: "ubuntu-latest"
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php-version:
|
|
- "7.2"
|
|
- "7.3"
|
|
- "7.4"
|
|
- "8.0"
|
|
- "8.1"
|
|
- "8.2"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v3
|
|
|
|
- name: "Install PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
coverage: "none"
|
|
php-version: "${{ matrix.php-version }}"
|
|
extensions: mbstring
|
|
tools: composer:v2
|
|
|
|
- name: "Install dependencies"
|
|
run: "composer update --no-interaction --no-progress"
|
|
|
|
- name: "Downgrade PHPUnit"
|
|
if: matrix.php-version == '7.2' || matrix.php-version == '7.3'
|
|
run: "composer require --dev phpunit/phpunit:^7.5.20 --update-with-dependencies"
|
|
|
|
- name: "PHPStan"
|
|
run: "make phpstan"
|