discourse-chat-integration/.github/workflows/plugin-linting.yml

58 lines
1.4 KiB
YAML
Raw Normal View History

2020-09-25 14:06:55 -04:00
name: Linting
2020-10-09 11:09:41 -04:00
on:
push:
branches:
- main
pull_request:
2020-09-25 14:06:55 -04:00
concurrency:
group: plugin-linting-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
cancel-in-progress: true
2020-09-25 14:06:55 -04:00
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2020-09-25 14:06:55 -04:00
2020-10-09 11:09:41 -04:00
- name: Set up Node.js
uses: actions/setup-node@v3
2020-10-09 11:09:41 -04:00
with:
node-version: 16
cache: yarn
- name: Yarn install
run: yarn install
2020-09-25 14:06:55 -04:00
2020-10-09 11:09:41 -04:00
- name: Set up ruby
uses: ruby/setup-ruby@v1
2020-10-09 11:09:41 -04:00
with:
ruby-version: 2.7
bundler-cache: true
2020-09-25 14:06:55 -04:00
2020-10-09 11:09:41 -04:00
- name: ESLint
if: ${{ always() }}
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,assets}/javascripts
2020-09-25 14:06:55 -04:00
2020-10-09 11:09:41 -04:00
- name: Prettier
if: ${{ always() }}
shell: bash
2020-10-09 11:09:41 -04:00
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}"
2020-10-09 15:03:16 -04:00
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
2020-09-25 14:06:55 -04:00
- name: Ember template lint
if: ${{ always() }}
run: yarn ember-template-lint assets/javascripts
2020-10-09 11:09:41 -04:00
- name: Rubocop
if: ${{ always() }}
2020-10-09 11:09:41 -04:00
run: bundle exec rubocop .