Skip to content

Use esbuild-register in Dockerfile #208

Use esbuild-register in Dockerfile

Use esbuild-register in Dockerfile #208

Workflow file for this run

name: CI
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
unit-tests:
name: Backend (Unit Tests)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 10
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: 'pnpm'
- name: Install dependencies (server)
run: pnpm install
- name: Install biome linux-x64 (server)
run: pnpm install --save-dev @biomejs/cli-linux-x64 || true
- name: Lint (server)
run: pnpm run lint:ci
- name: Run unit tests (server)
run: pnpm run test:unit
db-tests-firestore:
name: Database tests (firestore)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 10
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: 'pnpm'
- name: Install dependencies (server)
run: pnpm install
- name: Run database tests (server)
run: pnpm run test:ci:firestore
db-tests-postgres:
name: Database tests (postgres)
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15-alpine
env:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 10
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: 'pnpm'
- name: Install dependencies (server)
run: pnpm install
- name: Run database tests (server)
run: npm run test:ci:postgres
db-tests-mongo:
name: Database tests (mongo)
runs-on: ubuntu-latest
services:
mongo:
image: mongo:6
ports:
- 27017:27017
options: >-
--health-cmd "mongosh --eval 'db.runCommand({serverStatus:1})' --quiet" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 10
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: 'pnpm'
- name: Install dependencies (server)
run: pnpm install
- name: Run database tests (server)
run: npm run test:ci:mongo
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 10
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: 'pnpm'
- name: Install root dependencies
run: pnpm install
- name: Install dependencies (frontend)
working-directory: ./frontend
run: pnpm install
- name: Install Chrome
uses: browser-actions/setup-chrome@latest
- name: Run tests (frontend)
working-directory: ./frontend
run: pnpm run test:ci
env:
CHROME_BIN: /usr/bin/google-chrome-stable