ci: migrate linter to shared workflow templates

PHP
PHP-CS
XML (appinfo)
ESLint

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
Daniel Kesselberg 2022-12-30 15:23:40 +01:00
parent ac58a9b16e
commit f24c5ac318
No known key found for this signature in database
GPG Key ID: 36E3664E099D0614
1 changed files with 0 additions and 98 deletions

View File

@ -1,98 +0,0 @@
name: Lint
on: pull_request
jobs:
xml-linters:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download schema
run: wget https://apps.nextcloud.com/schema/apps/info.xsd
- name: Lint info.xml
uses: ChristophWurst/xmllint-action@v1
with:
xml-file: ./appinfo/info.xml
xml-schema-file: ./info.xsd
php-linters:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2']
name: php${{ matrix.php-versions }} lint
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Lint
run: composer run lint
node-linters:
runs-on: ubuntu-latest
name: ESLint
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: 14
- name: Set up npm7
run: npm i -g npm@7
- name: npm install
run: npm ci
- name: eslint
run: npm run lint
env:
CI: true
php-cs-fixer:
name: php-cs check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
coverage: none
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
summary:
runs-on: ubuntu-latest
needs:
- xml-linters
- php-linters
- node-linters
- php-cs-fixer
if: always()
name: lint-summary
steps:
- name: XML linter status
run: if ${{ needs.xml-linters.result != 'success' && needs.xml-linters.result != 'skipped' }}; then exit 1; fi
- name: PHP linter status
run: if ${{ needs.php-linters.result != 'success' && needs.php-linters.result != 'skipped' }}; then exit 1; fi
- name: Node linter status
run: if ${{ needs.node-linters.result != 'success' && needs.node-linters.result != 'skipped' }}; then exit 1; fi
- name: PHP cs fixer status
run: if ${{ needs.php-cs-fixer.result != 'success' && needs.php-cs-fixer.result != 'skipped' }}; then exit 1; fi