Consolidate CI workflows and add Vercel SPA routing config#20
Consolidate CI workflows and add Vercel SPA routing config#20
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: ivan09069 <202161141+ivan09069@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This pull request consolidates the CI/CD infrastructure by replacing 10 legacy workflow files with a single streamlined build workflow, adds SPA routing configuration to Vercel, and regenerates the package-lock.json with npm 10+ lockfile format.
Key Changes:
- Replaced multiple specialized workflows (backup/restore, DR drills, security scanning, label sync, Jekyll, snapshot data feeds, Slack notifications, and documentation automation) with a single
.github/workflows/build.ymlthat performs basic build validation - Added SPA routing configuration to
vercel.jsonwith a catch-all rewrite rule directing all requests to/index.html - Regenerated
package-lock.jsonwith lockfileVersion 3 and removed it from.gitignoreto enable dependency tree tracking
Reviewed changes
Copilot reviewed 11 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/build.yml |
New workflow that runs on push/PR to main, sets up Node 20, installs dependencies, builds project, and validates output directory |
vercel.json |
Formatted JSON and added rewrites configuration for client-side routing support in SPA |
package-lock.json |
Regenerated lockfile with npm 10+ format (lockfileVersion 3) containing full dependency tree with 2026 lines |
.gitignore |
Removed package-lock.json entry to enable version control tracking of the lockfile |
.github/workflows/self-heal-agent.yml |
Deleted 304-line workflow that handled AWS/Azure/GCP backup and restore operations |
.github/workflows/passive-github-recon.yml |
Deleted 142-line workflow for dependency review, secret scanning, license compliance, and code quality checks |
.github/workflows/notify-slack.yml |
Deleted 132-line workflow for Slack notifications on workflow completion |
.github/workflows/label-sync.yml |
Deleted 26-line workflow for GitHub label synchronization |
.github/workflows/jekyll-docker.yml |
Deleted 20-line Jekyll site CI workflow |
.github/workflows/dr-drill.yml |
Deleted 329-line disaster recovery drill workflow with quarterly scheduled tests |
.github/workflows/auto-deploy-resilience.yml |
Deleted 285-line Terraform infrastructure deployment workflow for AWS/Azure/GCP |
.github/workflows/auto-commit-docs.yml |
Deleted 45-line workflow for automated documentation timestamp updates (contained duplicate step definition bug) |
.github/workflows/Snapshots.yml |
Deleted 106-line workflow for periodic data feed snapshots from GitHub, Snapshot, DeFiLlama, and CoinGecko |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,31 @@ | |||
| name: Build and Deploy | |||
There was a problem hiding this comment.
The workflow name "Build and Deploy" is misleading as this workflow only performs build and validation, but does not actually deploy anything. Consider renaming to "Build and Validate" or simply "Build" to accurately reflect its purpose.
| name: Build and Deploy | |
| name: Build and Validate |
| node-version: '20' | ||
|
|
||
| - name: Install dependencies | ||
| run: npm install |
There was a problem hiding this comment.
Using npm install instead of npm ci in CI environments can lead to non-deterministic builds. The workflow should use npm ci which installs exact versions from package-lock.json, ensuring reproducible builds and better cache utilization.
| run: npm install | |
| run: npm ci |
Replaced 10 legacy workflow files with a single streamlined build workflow and added SPA routing configuration to Vercel.
Changes
.github/workflows/build.ymlthat runs on push/PR to main with Node 20, builds, and validates outputrewritesrule tovercel.jsonto route all requests to/index.htmlfor client-side routingpackage-lock.jsonwith npm 10+ lockfile format; removed from.gitignoreto track dependency tree{ "rewrites": [ { "source": "/(.*)", "destination": "/index.html" } ] }Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.