Skip to content

Store controls in state #9957

Store controls in state

Store controls in state #9957

Workflow file for this run

name: JS Linting and Tests
on:
pull_request:
workflow_call:
jobs:
lint:
name: JS Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ~/.npm/
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
- uses: actions/cache@v4
with:
path: node_modules/
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: Install JS dependencies
run: npm ci
- name: Lint JS
run: npm run lint-js
- name: Lint TS e2e
run: npm run lint-e2e
type-check:
name: TypeScript Checking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ~/.npm/
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
- uses: actions/cache@v4
with:
path: node_modules/
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: Install JS dependencies
run: npm ci
- name: Lint JS
run: npm run lint-types
test:
name: JS Testing
runs-on: ubuntu-latest
steps:
# clone the repository
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install JS dependencies
run: npm ci
- name: Test JS
env:
NODE_OPTIONS: "--max_old_space_size=4096"
run: npm run test-js
- name: Slack Notification on Failure
uses: rtCamp/action-slack-notify@v2
if: ${{ failure() && github.event_name == 'push' }}
env:
SLACK_CHANNEL: ${{ secrets.SLACK_JANITORIAL_CHANNEL }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'JS Testing'
SLACK_COLOR: 'error'
SLACK_FOOTER: ''