Skip to content

fix(deploy): add CI/CD workflow, complete railway.json, and finish DEPLOY.md#21

Open
macan88 wants to merge 3 commits intolangoustine69:mainfrom
macan88:felix/fix-4
Open

fix(deploy): add CI/CD workflow, complete railway.json, and finish DEPLOY.md#21
macan88 wants to merge 3 commits intolangoustine69:mainfrom
macan88:felix/fix-4

Conversation

@macan88
Copy link

@macan88 macan88 commented Mar 1, 2026

Problem

The repository lacked a working GitHub Actions CI/CD pipeline, railway.json was missing the variables section required by Railway's env-var injection, and DEPLOY.md was cut off mid-sentence leaving deployers without actionable steps.

Solution

Added .github/workflows/ci.yml that runs bun install → bun test → tsc --noEmit on every PR and additionally calls railway up --detach (guarded by RAILWAY_TOKEN) only on merges to main, ensuring tests always gate deploys. Completed railway.json with the correct health-check path and restart policy so Railway can reliably promote healthy builds. Rewrote DEPLOY.md end-to-end covering CLI install, railway init/link, secret management, custom domain DNS setup, CI token wiring, and a troubleshooting table.

Testing

  • Push a feature branch → CI runs tests, deploy step is skipped (if: github.ref == 'refs/heads/main' guard)
  • Merge to main with RAILWAY_TOKEN set → full pipeline runs, Railway health check hits /health returning {"ok":true} before traffic is accepted
  • curl -f https://<service>.up.railway.app/health returns 200 within the 10 s timeout configured in railway.json

Closes #4

@macan88 macan88 mentioned this pull request Mar 1, 2026
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[T4] Railway deploy config + CI/CD

1 participant