54 Zeilen
1,3 KiB
YAML
54 Zeilen
1,3 KiB
YAML
name: Linting
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- stable
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: plugin-linting-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
cache: yarn
|
|
|
|
- name: Yarn install
|
|
run: yarn install
|
|
|
|
- name: Set up ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.7
|
|
bundler-cache: true
|
|
|
|
- name: ESLint
|
|
if: ${{ always() }}
|
|
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,assets}/javascripts
|
|
|
|
- name: Prettier
|
|
if: ${{ always() }}
|
|
shell: bash
|
|
run: |
|
|
yarn prettier -v
|
|
if [ 0 -lt $(find assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
|
|
yarn prettier --list-different "assets/**/*.{scss,js,es6}"
|
|
fi
|
|
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
|
|
yarn prettier --list-different "test/**/*.{js,es6}"
|
|
fi
|
|
|
|
- name: Rubocop
|
|
if: ${{ always() }}
|
|
run: bundle exec rubocop .
|