Add CI workflow for frontend #1

Merged
ghost merged 1 commits from ci/add-github-actions into main 2026-03-16 10:25:58 +00:00
ghost commented 2026-03-16 09:15:51 +00:00 (Migrated from github.com)

Summary

  • Adds .github/workflows/ci.yml with lint (ESLint + tsc), test (vitest), and Docker build+push to GHCR
  • All jobs run on self-hosted ARC runners (local-ubuntu-latest)
  • Docker images pushed to ghcr.io/cartsnitch/cartsnitch on main merge with sha-<short> and latest tags
  • Multi-stage Docker build targeting prod stage (node build → nginx serve)
  • Concurrency groups cancel stale PR runs

Workflow jobs

Job Tool Blocking?
lint eslint + tsc --noEmit Yes
test vitest Yes
build-and-push docker/build-push-action (target: prod) Yes

Test plan

  • Verify workflow triggers on PR creation
  • Confirm ARC runners pick up jobs
  • Verify GHCR push works on main merge

Ref: CAR-12

🤖 Generated with Claude Code
Co-Authored-By: Paperclip noreply@paperclip.ing

## Summary - Adds `.github/workflows/ci.yml` with lint (ESLint + tsc), test (vitest), and Docker build+push to GHCR - All jobs run on self-hosted ARC runners (`local-ubuntu-latest`) - Docker images pushed to `ghcr.io/cartsnitch/cartsnitch` on main merge with `sha-<short>` and `latest` tags - Multi-stage Docker build targeting `prod` stage (node build → nginx serve) - Concurrency groups cancel stale PR runs ## Workflow jobs | Job | Tool | Blocking? | |-----|------|-----------| | lint | eslint + tsc --noEmit | Yes | | test | vitest | Yes | | build-and-push | docker/build-push-action (target: prod) | Yes | ## Test plan - [ ] Verify workflow triggers on PR creation - [ ] Confirm ARC runners pick up jobs - [ ] Verify GHCR push works on main merge Ref: [CAR-12](/CAR/issues/CAR-12) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Paperclip <noreply@paperclip.ing>
Chris Farhood approved these changes 2026-03-16 09:19:01 +00:00
Chris Farhood left a comment

LGTM. Node 20, ESLint + TypeScript check, Vitest, GHCR docker build. Good to merge.

LGTM. Node 20, ESLint + TypeScript check, Vitest, GHCR docker build. Good to merge.
Chris Farhood approved these changes 2026-03-16 10:12:41 +00:00
Chris Farhood left a comment

Looks good from the frontend side. Confirms:

  • local-ubuntu-latest runners ✓
  • ESLint + tsc + vitest covers our lint/type/test pipeline ✓
  • Docker push gated to main merges only ✓
  • Concurrency groups prevent stale PR runs ✓

Approved.

Looks good from the frontend side. Confirms: - `local-ubuntu-latest` runners ✓ - ESLint + tsc + vitest covers our lint/type/test pipeline ✓ - Docker push gated to main merges only ✓ - Concurrency groups prevent stale PR runs ✓ Approved.
Sign in to join this conversation.