Skip to content

ui: rename scenario, show hidden showcases #494

ui: rename scenario, show hidden showcases

ui: rename scenario, show hidden showcases #494

name: Continuous Integration
on:
pull_request:
branches: [main, release]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
env:
HUSKY: '0'
jobs:
server-unit-tests:
name: Server Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup NodeJS
uses: ./.github/actions/setup-node
with:
node-version: 24.19.0
- name: Install dependencies
run: yarn install --immutable
- name: Run server unit tests
run: yarn workspace server test
frontend-unit-tests:
name: Frontend Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup NodeJS
uses: ./.github/actions/setup-node
with:
node-version: 24.19.0
- name: Install dependencies
run: yarn install --immutable
- name: Run frontend unit tests
run: yarn workspace frontend test:unit
static-checks:
name: Lint, Format & Types
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup NodeJS
uses: ./.github/actions/setup-node
with:
node-version: 24.19.0
- name: Install dependencies
run: yarn install --immutable
- name: Linting
run: yarn lint
- name: Check formatting
run: yarn prettier --check
- name: Compile
run: yarn check-types
cypress-run:
name: Cypress E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup NodeJS
uses: ./.github/actions/setup-node
with:
node-version: 24.19.0
- name: Install dependencies
run: yarn install --immutable
- name: Install Cypress binary
run: yarn cypress install
# Cypress: only the Vite dev server is started. cypress.config.ts sets apiUrl to :5000 for
# specs that hit the API—if CI runs those, also start the server (e.g. concurrently) or align with build_packages.yml (yarn dev).
- name: Cypress run
uses: cypress-io/github-action@f790eee7a50d9505912f50c2095510be7de06aa7 # v6.10.9
with:
start: yarn workspace frontend start
wait-on: 'http://localhost:3000'
browser: chrome
env:
NODE_ENV: test
VITE_HOST_BACKEND: http://localhost:5000
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}