wallabag/.github/workflows/coding-standards.yml

91 lines
2.8 KiB
YAML
Raw Normal View History

2020-11-23 21:39:32 +00:00
name: "CS"
on:
pull_request:
push:
branches:
- master
- "2.**"
2020-11-23 21:39:32 +00:00
permissions:
contents: read
2020-11-23 21:39:32 +00:00
jobs:
coding-standards:
2022-04-28 23:12:58 +00:00
name: "CS Fixer, PHPStan & TwigCS"
runs-on: "ubuntu-20.04"
2020-11-23 21:39:32 +00:00
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
2020-11-23 21:39:32 +00:00
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "7.4"
2022-05-21 21:46:49 +00:00
tools: cs2pr, pecl
2020-11-23 21:39:32 +00:00
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
ini-values: "date.timezone=Europe/Paris"
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2025-02-14 23:02:23 +00:00
- name: "Install Node"
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: 'yarn'
2023-11-16 08:36:47 +00:00
- name: "Setup MySQL"
run: |
sudo systemctl start mysql.service
sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test"
cp app/config/tests/parameters_test.mysql.yml app/config/parameters_test.yml
2020-11-23 21:39:32 +00:00
- name: "Install dependencies with Composer"
2025-02-15 01:00:31 +00:00
id: composer-install
uses: "ramsey/composer-install@v3"
with:
composer-options: "--optimize-autoloader --prefer-dist"
2020-11-23 21:39:32 +00:00
2025-02-14 23:02:23 +00:00
- name: "Install dependencies with Yarn"
2025-02-15 01:00:31 +00:00
id: yarn-install
2025-02-14 23:02:23 +00:00
run: yarn install
2025-01-25 10:09:04 +00:00
- name: "Run Composer validate"
2025-02-15 01:00:31 +00:00
if: always() && steps.composer-install.outcome == 'success'
2025-01-25 10:09:04 +00:00
run: "composer validate"
2024-03-29 23:38:37 +00:00
- name: "Run Composer dependency analyser"
2025-02-15 01:00:31 +00:00
if: always() && steps.composer-install.outcome == 'success'
2024-03-29 23:38:37 +00:00
run: "bin/composer-dependency-analyser"
2020-11-23 21:39:32 +00:00
- name: "Run PHP CS Fixer"
2025-02-15 01:00:31 +00:00
if: always() && steps.composer-install.outcome == 'success'
2020-11-23 21:39:32 +00:00
run: "bin/php-cs-fixer fix --verbose --dry-run --format=checkstyle | cs2pr"
- name: "Generate test cache for PHPStan"
2025-02-15 01:00:31 +00:00
id: test-cache
if: always() && steps.composer-install.outcome == 'success'
2020-11-23 21:39:32 +00:00
run: "php bin/console cache:clear --env=test"
- name: "Run PHPStan"
2025-02-15 01:00:31 +00:00
if: always() && steps.test-cache.outcome == 'success'
2020-11-23 21:39:32 +00:00
run: "php bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
2022-04-28 23:12:58 +00:00
- name: "Run TwigCS"
2025-02-15 01:00:31 +00:00
if: always() && steps.composer-install.outcome == 'success'
2022-05-03 21:28:20 +00:00
run: "php bin/twigcs --severity=error --display=blocking --reporter checkstyle app/ src/ | cs2pr"
2023-07-26 13:12:47 +00:00
- name: "Run ergebnis/composer-normalize"
2025-02-15 01:00:31 +00:00
if: always() && steps.composer-install.outcome == 'success'
2023-07-26 13:12:47 +00:00
run: "composer normalize --dry-run --no-check-lock"
2025-02-14 23:02:23 +00:00
- name: "Run ESLint"
2025-02-15 01:00:31 +00:00
if: always() && steps.yarn-install.outcome == 'success'
2025-02-14 23:02:23 +00:00
run: "yarn lint:js"
2025-02-14 23:23:46 +00:00
- name: "Run Stylelint"
2025-02-15 01:00:31 +00:00
if: always() && steps.yarn-install.outcome == 'success'
2025-02-14 23:23:46 +00:00
run: "yarn lint:scss"