49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: Linting
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
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: 18
|
|
cache: yarn
|
|
|
|
- name: Yarn install
|
|
run: yarn install
|
|
|
|
- name: ESLint
|
|
if: ${{ !cancelled() }}
|
|
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,javascripts}
|
|
|
|
- name: Prettier
|
|
if: ${{ !cancelled() }}
|
|
shell: bash
|
|
run: |
|
|
yarn prettier -v
|
|
files=$(find javascripts desktop mobile common scss -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" \) 2> /dev/null) || true
|
|
if [ -n "$files" ]; then
|
|
yarn prettier --list-different $files
|
|
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: Ember template lint
|
|
if: ${{ !cancelled() }}
|
|
run: yarn ember-template-lint --no-error-on-unmatched-pattern javascripts
|