Skip to main content

.github/workflows/ci.yml

Ghost doc — This is the real CI configuration found at .github/workflows/ci.yml in the Smithers repository.

Source

# .github/workflows/ci.yml
name: CI

on:
  push:
  pull_request:

jobs:
  core:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: oven-sh/setup-bun@v1
        with:
          bun-version: "1.3.4"
      - name: Install
        run: bun install --frozen-lockfile
      - name: Typecheck
        run: bun run typecheck
      - name: Test
        run: bun test

What This Demonstrates

  • Bun-based CI — Uses oven-sh/setup-bun for fast install and test execution.
  • Frozen lockfile--frozen-lockfile ensures CI uses the exact dependency versions committed to the repo.
  • Two-step validation — Runs TypeScript type checking (bun run typecheck) separately from tests (bun test), catching type errors even if tests pass.
  • Minimal configuration — Triggers on all pushes and pull requests with no branch filtering, keeping the CI config simple.