Skip to content

chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.6 to 6.6.0 #152

chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.6 to 6.6.0

chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.6 to 6.6.0 #152

name: Continuous integration
on:
workflow_dispatch:
pull_request:
branches:
- '**'
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check prettier
run: npm run prettier:check
- name: Check ESLinter
run: npm run lint:check
codeql:
runs-on: ubuntu-latest
needs: linting
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ['javascript', 'typescript']
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: '/language:${{matrix.language}}'
unit_testing_api:
name: Unit Testing (API)
runs-on: ubuntu-latest
needs: [linting, codeql]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check unit tests
run: npm run test --ci --lastCommit --maxWorkers=50%
unit_testing_demo:
name: Unit Testing (Demo)
runs-on: ubuntu-latest
needs: [linting, codeql]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check unit tests
run: echo "No unit tests for demo"
api_testing_cypress:
name: API Testing (Cypress)
runs-on: ubuntu-latest
needs: [linting, codeql]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Install dependencies
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check api tests
run: npx nx e2e api-testing-cypress
api_testing_playwright:
name: API Testing (Playwright)
runs-on: ubuntu-latest
needs: [linting, codeql]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check api tests
run: npx nx e2e api-testing-playwright
accessibility_demo:
name: Accessibility (Demo)
runs-on: ubuntu-latest
needs: [linting, codeql, unit_testing_demo, deploy_preview_demo]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Check unit tests
run: echo "No accessibility tests"
build_documentation:
runs-on: ubuntu-latest
needs: [linting, codeql]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- name: Build documentation
run: npx nx build documentation
chromatic:
runs-on: ubuntu-latest
needs: [linting, codeql]
if: ${{ github.actor != 'dependabot[bot]' }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- uses: chromaui/action@v1
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
deploy_preview_demo:
name: Deploy Preview (Demo)
runs-on: ubuntu-latest
needs: [linting, codeql, unit_testing_demo]
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
id: setup-node
with:
node-version: '18'
- name: Get node version
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Get node_modules cache
uses: actions/cache@v3
id: cache
with:
path: |
**/node_modules
# Adding node version as cache key
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci --no-audit --prefer-offline --progress=false
- run: npx nx build demo
- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v2
with:
publish-dir: './dist/apps/demo'
github-token: ${{ secrets.GITHUB_TOKEN }}
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.DEMO_NETLIFY_ID }}