Skip to content

ci: switch to Biome #228

ci: switch to Biome

ci: switch to Biome #228

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
actions: read
jobs:
test:
strategy:
fail-fast: false
matrix:
quality: [test, typecheck, lint, format, test:e2e]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.8
- name: Cache Bun dependencies
uses: actions/cache@v5
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Install dependencies
run: bun ci
- name: Install Playwright Browsers
run: bunx playwright install --with-deps
- name: Build
run: bun build:prod
- name: Run quality step
run: bun ${{matrix.quality}}
dependency-review:
runs-on: ubuntu-24.04
if: github.event_name == 'pull_request'
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Dependency Review
uses: actions/dependency-review-action@v4
nix-flake-test:
name: Devenv CI
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install Determinate Nix
uses: DeterminateSystems/determinate-nix-action@v3
- name: Install devenv
run: nix profile add nixpkgs#devenv
- name: Cache Bun dependencies
uses: actions/cache@v5
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Build (Devenv shell)
run: devenv shell -- bun build:prod
- name: Quality checks (bun test)
run: devenv shell -- bun unittest
- name: Quality checks (typecheck)
run: devenv shell -- bun typecheck
- name: Quality checks (lint)
run: devenv shell -- bun lint
- name: Quality checks (format)
run: devenv shell -- bun format
- name: Quality checks (test:e2e)
run: devenv shell -- bun test:e2e