name: "[CI] Lint code" on: push: branches: - develop - release/* - "*-stable" pull_request: branches-ignore: - "chore/l10n*" env: CI: "true" SIMPLECOV: "true" RUBY_VERSION: 3.1.1 NODE_VERSION: 18.17.1 SHAKAPACKER_RUNTIME_COMPILE: "false" concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true jobs: lint: strategy: fail-fast: false matrix: command: - bundle exec rubocop -P - npm run lint - npm run stylelint - ./.github/run_erblint.sh - npm run markdownlint - ./.github/run_spelling_check.sh - npm run linthtml name: Lint code runs-on: ubuntu-22.04 if: "!startsWith(github.head_ref, 'chore/l10n')" timeout-minutes: 60 steps: - uses: actions/checkout@v3 with: fetch-depth: 1 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.RUBY_VERSION }} bundler-cache: true - uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_VERSION }} - name: Get npm cache directory path id: npm-cache-dir-path run: echo "dir=$(npm get cache)-lint" >> $GITHUB_OUTPUT - uses: actions/cache@v3 id: npm-cache with: path: ${{ steps.npm-cache-dir-path.outputs.dir }} key: npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | npm- - name: Install JS dependencies run: npm ci - run: ${{ matrix.command }} name: ${{ matrix.command }}