feat: document deployment plan and harden ci - #9
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR establishes deployment and CI/CD readiness for the peer-mapper project by adding production-grade infrastructure configuration, implementing a singleton pattern for the Supabase client, and creating comprehensive deployment documentation.
- Converted Supabase client from static export to singleton factory pattern
- Implemented full CI/CD pipeline with linting, building, and testing across all workspaces
- Added deployment playbook and environment configuration examples
Reviewed Changes
Copilot reviewed 16 out of 18 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/ci.yml |
Replaced placeholder CI with comprehensive quality gate including lint, build, and test steps for all workspaces |
frontend/src/lib/supabaseClient.ts |
Refactored from static client export to singleton factory pattern with lazy initialization |
frontend/src/lib/profile.ts |
Updated to use getSupabaseClient() factory function |
frontend/src/lib/auth.ts |
Updated to use getSupabaseClient() factory function |
frontend/__tests__/profile.test.ts |
Updated mock to match new factory function signature |
frontend/postcss.config.mjs |
Changed from import-based to object-based plugin configuration |
frontend/package.json |
Added --webpack flag to build command |
frontend/.env.example |
Added example environment variables for frontend configuration |
frontend/.gitignore |
Added exception for .env.example files |
.gitignore |
Removed pnpm-lock.yaml from ignore list and added .env.example exception |
pnpm-workspace.yaml |
Added onlyBuiltDependencies configuration for native modules |
agent-context/deployment.md |
New comprehensive deployment playbook with detailed instructions |
agent-context/technical-spec.md |
Updated deployment section with CI/CD guidance |
agent-context/functional-spec.md |
Added deployment and operations section |
agent-context/eas-addresses.md |
Enhanced with Moonscan verification URLs and deployment transaction hashes |
agent-context/session-logs/session-09.md |
Added session log documenting deployment readiness work |
agent-context/session-log.md |
Updated with session 09 summary |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - frontend | ||
| - indexer | ||
| - contracts | ||
| onlyBuiltDependencies: |
There was a problem hiding this comment.
Corrected spacing: missing space after colon. Should be 'onlyBuiltDependencies: ' with proper YAML spacing.
| - better-sqlite3 | ||
| - esbuild | ||
| - sharp | ||
| - unrs-resolver |
There was a problem hiding this comment.
Potential typo in package name 'unrs-resolver'. This package does not appear to exist in npm registry. Did you mean 'unrs' or another package? Verify this is the correct package name.
| - unrs-resolver |
| run: pnpm --filter indexer build | ||
|
|
||
| - name: Build contracts | ||
| run: pnpm build |
There was a problem hiding this comment.
This step runs 'pnpm build' at the workspace root without a filter, which may have unclear scope. Consider using 'pnpm --filter contracts build' to match the pattern of the frontend and indexer build steps for consistency and clarity.
| run: pnpm build | |
| run: pnpm --filter contracts build |
| run: pnpm --filter indexer test | ||
|
|
||
| - name: Test contracts | ||
| run: pnpm test |
There was a problem hiding this comment.
This step runs 'pnpm test' at the workspace root without a filter, which may run tests across all packages or none. Consider using 'pnpm --filter contracts test' to match the pattern of the frontend and indexer test steps for consistency and clarity.
| run: pnpm test | |
| run: pnpm --filter contracts test |
Summary
Testing
Codex Task