Skip to content

Integration

Integration #1921

Workflow file for this run

name: integration
run-name: Integration
on:
workflow_dispatch:
push:
pull_request:
branches: [main]
types: [opened]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
install-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Install dependencies
if: steps.cache-npm-dependencies.outputs.cache-hit != 'true'
run: npm ci --no-audit
check-formatting:
runs-on: ubuntu-latest
needs: install-dependencies
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Check formatting
run: npm run format:check
lint-source-code:
runs-on: ubuntu-latest
needs: install-dependencies
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Lint source code
run: npm run lint
type-check-source-code:
runs-on: ubuntu-latest
needs: install-dependencies
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Type check source code
run: npm run typecheck
run-tests:
runs-on: ubuntu-latest
needs: install-dependencies
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Run tests
run: npm test -- --ci
compile-source-code:
runs-on: ubuntu-latest
needs: install-dependencies
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Cache npm dependencies
uses: actions/cache@v4
id: cache-npm-dependencies
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-
- name: Compile source code
run: npm run compile