Skip to content

Add automated deployment tooling (#9) #21

Add automated deployment tooling (#9)

Add automated deployment tooling (#9) #21

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_DB: involute
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres -d involute"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
AUTH_TOKEN: ci-auth-token
CI: "true"
DATABASE_URL: postgresql://postgres:postgres@127.0.0.1:5432/involute?schema=public
VIEWER_ASSERTION_SECRET: ci-viewer-assertion-secret
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.30.1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: 22
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Playwright browser
run: pnpm exec playwright install --with-deps chromium
- name: Typecheck
run: pnpm typecheck
- name: Lint
run: pnpm lint
- name: Test
run: pnpm test
- name: End-to-end tests
run: pnpm e2e
- name: Build
run: pnpm build
- name: Docker Compose build
run: docker compose build