13 days ago
Staging public edge returns retired deployment only to one GitHub Actions workflow
We have a Railway staging service with a Railway-generated public hostname:
tls-donation-staging-production-c738.up.railway.app
The currently active deployment reports build:
c14ab2f9a51baef2de131841ae3dc9300382f4f4
However, our protected GitHub Actions Staging E2E workflow consistently receives an older retired build:
9453ccc3227fd51ab5c4c465ce146b862f907526
The unusual part is that independent GitHub-hosted curl and Node workflows reach the same hostname and receive the correct current SHA. Only the protected Staging E2E workflow repeatedly receives the retired SHA.
We have reproduced this across multiple workflow runs, with 30 requests per run.
Observations:
HTTP 200 in both cases
cache-control: no-store
no redirects
server: railway-hikari
DNS A record: 69.46.46.97
no AAAA record
no CNAME
service health is OK
database health is OK
environment correctly reports staging / non-production
recreating the Railway-generated domain and redeploying did not resolve it
Direct/local requests and standalone GitHub-hosted probes consistently reach the current deployment, while the protected E2E workflow consistently reaches the retired deployment.
We are trying to understand what could cause one GitHub-hosted workflow execution path to be routed to a retired Railway backend while other GitHub-hosted workflows using the same hostname reach the active deployment.
Has anyone seen this with Railway edge routing, generated domains, Host/SNI routing, GitHub Actions networking, or workflow-specific environment/proxy behavior?
This is staging/non-production only.
1 Replies
13 days ago
We've looked into this from our side and haven't found anything on the Railway platform that explains what you're seeing, so working it out means digging into your specific setup.
That's exactly what the Railway community is good at, so we'd like to open your thread as a community bounty. Railway pays a bounty to the community member who solves it, and threads like this usually get picked up quickly.
Opening it makes this entire thread public, including everything already posted. Nothing becomes public until you decide. Use the buttons below.
- Open to the community - Before you click, take a moment to edit or remove anything you'd rather not share. The thread becomes publicly visible right away.
- Keep it private and close the thread - Nothing becomes public and the thread closes.
Status changed to Awaiting User Response Railway • 13 days ago
13 days ago
This thread has been opened as a public bounty so the community can help solve it. The thread and any further activity are now visible to everyone.
Status changed to Open Railway • 13 days ago
Status changed to Solved carlostls • 13 days ago