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 .