Commit Graph

14 Commits

Author SHA1 Message Date
Chris Farhood 46f134a294 fix: use root pnpm build instead of --filter for api in Dockerfile
CI / Test (push) Successful in 11s
CI / Lint & Typecheck (push) Successful in 12s
CI / Build & Push Docker Images (push) Failing after 2m11s
pnpm --filter @groombook/api doesn't match the workspace root package
because pnpm-workspace.yaml only includes packages/*. The root
package.json already has a build script that compiles src/ → dist/,
which is what the Dockerfile copies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-22 03:11:03 +00:00
Chris Farhood 1ea319e122 merge: resolve conflicts with dev (keep Node 22 + add Gitea CI images)
CI / Lint & Typecheck (pull_request) Failing after 14s
CI / Test (pull_request) Failing after 20s
CI / Build & Push Docker Images (pull_request) Has been skipped
- Dockerfile: keep node:22-alpine for both base and runner stages
- package.json: keep dev's full content + add packageManager field
- .gitea/workflows/ci.yml: keep fixed version with all 4 image targets
- petsExtendedFields.test.ts: keep dev UUIDs + PR's vi.fn() mocks

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-22 02:58:11 +00:00
Flea Flicker 2b78fcf731 fix(ci): build all service images + upgrade Node 22 + pin packageManager (GRO-1522)
CI / Lint & Typecheck (pull_request) Failing after 18s
CI / Test (pull_request) Failing after 26s
CI / Build (pull_request) Has been skipped
CI / Build & Push Docker Images (pull_request) Has been skipped
CI / Update Infra Image Tags (pull_request) Has been skipped
- Upgrade CI jobs (lint-typecheck, test, build) to Node 22
- Dockerfile uses node:22-alpine for base and runner stages
- Root package.json gets packageManager field for corepack pin
- Docker build already targets all 4 stages (api/migrate/seed/reset)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-22 02:16:49 +00:00
Flea Flicker 24c1a603ec fix: add missing COPY tsconfig.json to builder stage
CI / Lint & Typecheck (pull_request) Failing after 13s
CI / Test (pull_request) Successful in 20s
CI / Build & Push Docker Image (pull_request) Has been skipped
tsc --project . fails without tsconfig.json in the builder stage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 10:01:42 +00:00
Chris Farhood 90b3811577 Merge dev into gitea/migrate-workflows (allow-unrelated-histories)
CI / Lint & Typecheck (pull_request) Successful in 15s
CI / Test (pull_request) Failing after 20s
CI / Build & Push Docker Image (pull_request) Has been skipped
Merges the dev branch history into gitea/migrate-workflows to resolve
PR #24. The two branches had unrelated git histories due to the Gitea
migration. Conflict resolution favors gitea/migrate-workflows for
packages/, src/, .gitea/ structure and dev for apps/, .github/ content.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 01:24:41 +00:00
Chris Farhood 467b85abc7 fix(docker): use pnpm --filter for all monorepo package builds
CI / Lint & Typecheck (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 20s
CI / Build & Push Docker Image (pull_request) Successful in 27s
Use pnpm --filter consistently for all three package builds in the
Dockerfile instead of mixing filter and cd approaches. Also set
--project . explicitly on tsc invocations to ensure tsconfig resolution
from the package directory rather than workspace root.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-20 12:55:24 +00:00
Chris Farhood e417d8f6a7 fix(docker): use absolute tsconfig.json path for tsc
CI / Lint & Typecheck (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 20s
CI / Build & Push Docker Image (pull_request) Failing after 19s
tsc -p /app does not resolve to tsconfig.json at /app/tsconfig.json
without an explicit filename. Pass the full path.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-20 12:51:51 +00:00
Chris Farhood fc82e24ead fix(docker): use absolute tsconfig path for api build
CI / Lint & Typecheck (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 21s
CI / Build & Push Docker Image (pull_request) Failing after 20s
When pnpm --filter runs the api package build, tsc cannot find the
tsconfig.json. Use an absolute path to avoid any ambiguity about the
working directory context.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-20 12:49:56 +00:00
Chris Farhood a205fe1138 fix(docker): cd into packages/db before building
CI / Lint & Typecheck (pull_request) Successful in 16s
CI / Test (pull_request) Successful in 21s
CI / Build & Push Docker Image (pull_request) Failing after 20s
pnpm --filter runs in the workspace root where tsc finds the root
tsconfig.json instead of packages/db/tsconfig.json. Change into the
package directory so tsc picks up the correct local tsconfig.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-20 12:37:10 +00:00
Chris Farhood 2d4df6fe1e fix(docker): add missing pnpm-workspace.yaml COPY in deps and runner stages
Without pnpm-workspace.yaml, pnpm install --frozen-lockfile can't discover
the apps/api workspace member, causing "Already up to date" and tsc not found.

Also removes stale packages/* entry from pnpm-workspace.yaml (no packages/
directory exists in the dev branch).

Fixes: GRO-1231

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-14 16:50:52 +00:00
Chris Farhood d9ee14b17e fix: update Dockerfile for standalone repo structure
- Change apps/api/ to src/ (api package is now at root)
- Update COPY paths for new structure
- Change CMD from apps/api/dist/index.js to dist/index.js
- Remove api package.json copy (now at root)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-11 01:36:48 +00:00
Chris Farhood abac9dfe6c Extract groombook/api from monorepo with CI workflow
- Add source code from apps/api
- Add packages/db and packages/types workspace dependencies
- Add GitHub Actions CI workflow (lint, typecheck, test, docker)
- Generate pnpm-lock.yaml
- Add .gitignore

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-11 01:26:56 +00:00
Hugh Hackman 1855b374b5 refactor: inline packages/db and packages/types into api package
Phase 2 extraction: groombook/api from groombook/app monorepo.

Changes:
- Move packages/db content to apps/api/src/db/
- Move packages/types content to apps/api/src/types/
- Inline database schema and migrations into api package
- Update Dockerfile to build single package
- Update CI workflow for single-package structure
- Fix vitest.config.ts aliases

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:21:42 +00:00
Hugh Hackman 51f95e0fd6 Initial extraction: groombook/api from groombook/app monorepo
Part of GRO-802 monorepo breakdown.

Changes:
- Extract apps/api/ as the main API service
- Inline packages/db/ (database schema, migrations, utilities)
- Inline packages/types/ (shared TypeScript types)
- Add CI workflow for lint, typecheck, test, build, docker
- Port Dockerfile with 4 stages: runner, migrate, seed, reset

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:10:21 +00:00