Conversation
… prod on tag) Add GitHub Actions workflows that deploy lit-payments and lit-triggers to Railway via the Railway CLI, mirroring the lit-static release flow: pushes to main deploy to the "staging" environment and v* tag pushes deploy to the "production" environment. Auth uses environment-scoped Railway project tokens. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The new deploy workflows diverge from the repo’s established deploy-runner convention (self-hosted) and use a non-reproducible Railway CLI install (@railway/cli@^4), both of which raise operational reliability risk.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds GitHub Actions deploy workflows for the lit-payments and lit-triggers services to deploy to Railway (staging on main, production on v* tags, plus manual workflow_dispatch), and documents the deployment automation in each service README.
Changes:
- Added
.github/workflows/deploy-lit-payments.ymlto deploylit-paymentsto Railway staging/production via Railway CLI. - Added
.github/workflows/deploy-lit-triggers.ymlto deploylit-triggersto Railway staging/production via Railway CLI. - Updated
lit-payments/README.mdandlit-triggers/README.mdwith CI/CD notes and required secrets/vars.
File summaries
| File | Description |
|---|---|
.github/workflows/deploy-lit-payments.yml |
New Railway deploy workflow for lit-payments (staging on main, production on v*). |
.github/workflows/deploy-lit-triggers.yml |
New Railway deploy workflow for lit-triggers (staging on main, production on v*). |
lit-payments/README.md |
Documents the new Railway CI/CD workflow + required secrets/optional vars. |
lit-triggers/README.md |
Documents the new Railway CI/CD workflow + required secrets/optional vars. |
Review details
Suppressed comments (4)
.github/workflows/deploy-lit-payments.yml:82
- Most deployment workflows in this repo run on
self-hostedrunners (e.g.deploy-static.yml,deploy-staging.yml,deploy-prod-1-propose.yml). Usingubuntu-latesthere may bypass the expected deploy runner environment/policies and makes this workflow inconsistent with the established deploy setup.
runs-on: ubuntu-latest
.github/workflows/deploy-lit-triggers.yml:83
- Most deployment workflows in this repo run on
self-hostedrunners (e.g.deploy-static.yml,deploy-staging.yml,deploy-prod-1-propose.yml). Usingubuntu-latesthere may bypass the expected deploy runner environment/policies and makes this workflow inconsistent with the established deploy setup.
runs-on: ubuntu-latest
.github/workflows/deploy-lit-triggers.yml:96
npm install -g @railway/cli@^4makes deploys non-reproducible because the installed CLI can change over time (new 4.x releases). This can cause unexpected deploy failures without any repo change; consider pinning the Railway CLI to an exact version (and updating it intentionally).
- name: Install Railway CLI
run: npm install -g @railway/cli@^4
.github/workflows/deploy-lit-payments.yml:92
npm install -g @railway/cli@^4makes deploys non-reproducible because the installed CLI can change over time (new 4.x releases). This can cause unexpected deploy failures without any repo change; consider pinning the Railway CLI to an exact version (and updating it intentionally).
- name: Install Railway CLI
run: npm install -g @railway/cli@^4
- Files reviewed: 4/4 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| - name: Install Railway CLI | ||
| run: npm install -g @railway/cli@^4 |
| - name: Install Railway CLI | ||
| run: npm install -g @railway/cli@^4 |
Address PR review: match the repo's deploy-runner convention (self-hosted, as in deploy-static.yml) and pin the Railway CLI to an exact version (5.57.2) for reproducible deploys. The @^4 range was also incorrect — the Railway CLI is on v5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Thanks — addressed both points in bc9bc19:
|
Adds GitHub Actions workflows to deploy
lit-paymentsandlit-triggersto Railway via the Railway CLI, mirroring thelit-staticrelease flow. Pushes tomaindeploy to the Railway staging environment andv*tag pushes deploy to production, with a manualworkflow_dispatchfallback. Eachrailway upuses the build context its Dockerfile needs (repo root for lit-payments so it can reachlit-billing-core;lit-triggers/for lit-triggers) and authenticates with an environment-scoped Railway project token, so norailway linkstep is required. Each service README gains a short CI/CD note documenting the workflow.Requires four repo secrets (Railway project tokens):
RAILWAY_TOKEN_PAYMENTS_STAGING,RAILWAY_TOKEN_PAYMENTS_PRODUCTION,RAILWAY_TOKEN_TRIGGERS_STAGING,RAILWAY_TOKEN_TRIGGERS_PRODUCTION; optional varsRAILWAY_PAYMENTS_SERVICE/RAILWAY_TRIGGERS_SERVICEoverride the default service names.🤖 Generated with Claude Code