name: Quality checks concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true on: push: branches: [ master, release* ] pull_request: branches: [ master, release* ] jobs: run-escheck: name: Run es-check runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Install Node.js dependencies run: npm ci --no-audit - name: Run a production build run: npm run build:production - name: Run es-check run: npm run escheck run-eslint: name: Run eslint runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Install Node.js dependencies run: npm ci --no-audit - name: Run eslint run: npx eslint --quiet "." run-stylelint-css: name: Run stylelint (css) runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Set up stylelint matcher uses: xt0rted/stylelint-problem-matcher@34db1b874c0452909f0696aedef70b723870a583 # tag=v1 - name: Install Node.js dependencies run: npm ci --no-audit - name: Run stylelint run: npm run stylelint:css run-stylelint-scss: name: Run stylelint (scss) runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Set up stylelint matcher uses: xt0rted/stylelint-problem-matcher@34db1b874c0452909f0696aedef70b723870a583 # tag=v1 - name: Install Node.js dependencies run: npm ci --no-audit - name: Run stylelint run: npm run stylelint:scss run-tsc: name: Run TypeScript build check runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Install Node.js dependencies run: npm ci --no-audit - name: Run tsc run: npm run build:check run-test: name: Run tests runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Setup node environment uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 with: node-version: 20 check-latest: true cache: npm - name: Install Node.js dependencies run: npm ci --no-audit - name: Run test suite run: npm run test