Skip to content

Add CI workflow for linting, type checking, and testing - #3

Merged
callicles merged 2 commits into
mainfrom
claude/add-github-actions-ci-afuvj
Feb 25, 2026
Merged

Add CI workflow for linting, type checking, and testing#3
callicles merged 2 commits into
mainfrom
claude/add-github-actions-ci-afuvj

Conversation

@callicles

Copy link
Copy Markdown
Contributor

Summary

This PR introduces a comprehensive CI/CD pipeline using GitHub Actions to automate code quality checks and testing on every push and pull request to the main branch.

Key Changes

  • Lint & Format Job: Runs Biome linter and formatter checks using pnpm lint
  • Type Check Job: Performs TypeScript type checking with tsc --noEmit
  • Unit Tests Job: Executes unit tests via pnpm test:unit
  • Integration Tests Job: Runs integration tests against a Neon database (conditionally, requires DATABASE_URL secret)
    • Applies database migrations before running tests
    • Uses @neondatabase/serverless for HTTP-based database access
    • Provides sensible defaults for test environment variables

Implementation Details

  • Uses Node.js 20 with pnpm for dependency management
  • Implements concurrency controls to cancel in-progress runs when new commits are pushed
  • Integration tests are gated behind a DATABASE_URL secret check to prevent failures in forks
  • All jobs run on ubuntu-latest with dependency caching for faster execution
  • Follows a logical progression: lint → type check → unit tests → integration tests

https://claude.ai/code/session_0179RDnpCGY9iMg6yR5QBFFK

Adds .github/workflows/ci.yml with four jobs that run on every pull
request and push to main:

- lint: Biome lint & format check (pnpm lint)
- type-check: TypeScript strict type check (tsc --noEmit)
- test-unit: Vitest unit tests (pnpm test:unit)
- test-integration: Vitest integration tests (pnpm test:integration),
  conditional on DATABASE_URL secret being configured (requires a Neon
  PostgreSQL URL since the app uses @neondatabase/serverless)

Concurrent runs for the same ref are cancelled to avoid redundant CI usage.

https://claude.ai/code/session_0179RDnpCGY9iMg6yR5QBFFK
- actions/checkout: v4 → v6 (latest: v6.0.2)
- actions/setup-node: v4 → v6 (latest: v6.2.0)
- pnpm/action-setup: already at latest (v4, v4.2.0)

https://claude.ai/code/session_0179RDnpCGY9iMg6yR5QBFFK
@vercel

vercel Bot commented Feb 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v0-cla-bot-application Ready Ready Preview, Comment, Open in v0 Feb 25, 2026 3:23pm

Request Review

@callicles
callicles merged commit d8a0dd3 into main Feb 25, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants