ci: add install, build, typecheck, lint, format, and test gates #4

Closed
opened 2026-07-20 02:51:12 +02:00 by codinget · 0 comments
Owner

Goal

Add pull-request CI covering clean installation, production build, source and test typechecking, linting, formatting, and the full test suite.

Reference implementation

Model this after webnet/webnet instead of designing a second pipeline from scratch:

  • .gitea/workflows/ci.yml
  • .gitea/actions/setup/action.yml

Reuse the same overall shape where it fits: a shared setup action, an install/build job that publishes reusable dependency and build artifacts, then parallel verification jobs that restore those artifacts. Keep lint and formatting checks independent when that avoids unnecessary build dependencies.

Coordinate with the npm-workspaces/Turbo issue so this workflow can use Turbo's cache once the monorepo migration lands, without making initial CI coverage wait unnecessarily.

Acceptance criteria

  • CI runs on every pull request.
  • A clean npm ci is required and catches package-lock drift.
  • The production build runs successfully.
  • Both application and test TypeScript configurations are checked.
  • Lint and format-check scripts exist and run in CI.
  • The complete automated test suite runs in CI.
  • Repeated jobs do not each redo expensive install/build work when artifacts or Turbo cache can be reused safely.
  • The configured Node version matches the repository's declared engine.
  • Job names and failures make the failing gate obvious in the PR UI.
## Goal Add pull-request CI covering clean installation, production build, source and test typechecking, linting, formatting, and the full test suite. ## Reference implementation Model this after `webnet/webnet` instead of designing a second pipeline from scratch: - `.gitea/workflows/ci.yml` - `.gitea/actions/setup/action.yml` Reuse the same overall shape where it fits: a shared setup action, an install/build job that publishes reusable dependency and build artifacts, then parallel verification jobs that restore those artifacts. Keep lint and formatting checks independent when that avoids unnecessary build dependencies. Coordinate with the npm-workspaces/Turbo issue so this workflow can use Turbo's cache once the monorepo migration lands, without making initial CI coverage wait unnecessarily. ## Acceptance criteria - CI runs on every pull request. - A clean `npm ci` is required and catches package-lock drift. - The production build runs successfully. - Both application and test TypeScript configurations are checked. - Lint and format-check scripts exist and run in CI. - The complete automated test suite runs in CI. - Repeated jobs do not each redo expensive install/build work when artifacts or Turbo cache can be reused safely. - The configured Node version matches the repository's declared engine. - Job names and failures make the failing gate obvious in the PR UI.
codinget added the Kind/EnhancementKind/TestingAgentic
Priority
High
2
labels 2026-07-20 02:51:12 +02:00
codinget added the
Agent
gpt-5.6-sol
label 2026-07-20 02:54:12 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: codinget/abode#4