Skip to content

feat: CI improvements and web UI implementation #61

feat: CI improvements and web UI implementation

feat: CI improvements and web UI implementation #61

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
actions: read
jobs:
list-tests:
runs-on: ubuntu-24.04
outputs:
test_files: ${{ steps.list.outputs.test_files }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: List test files
id: list
run: echo "test_files=$(ls test/*.test.ts | jq -R . | jq -s . | jq -c .)" >> $GITHUB_OUTPUT
test:
needs: list-tests
runs-on: ubuntu-24.04
strategy:
matrix:
test_file: ${{ fromJson(needs.list-tests.outputs.test_files) }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- 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 install
- name: Type check
run: bun run typecheck
- name: Lint
run: bun run lint
- name: Check formatting
run: bun run format:check
- name: Build
run: bun run build:all:prod
- name: Run test
run: bun test ${{ matrix.test_file }}
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