a month ago
We need read-only assistance with a production environment before deploying an already-reviewed code update.
During our metadata-only investigation:
- The service was running a successful deployment.
- GitHub autodeploy was connected to main, with Wait for CI disabled.
- environmentStagedChanges returned an EnvironmentPatch with status STAGED.
- The corresponding project/environment canvas showed no staged-changes banner, Details button, or visible change markers.
- environment.unmergedChangesCount returned null.
- Connector summaries reported changeCount=47 at environment level and 44 at service level, but their counting semantics were not documented.
- The service projection returned staged.config={} and a list of variable names. We do not consider this proof of either an empty or nonempty effective diff.
No configuration changes, apply/discard operations, deployments, restarts, or rollbacks were performed during this investigation.
Could a Railway team member clarify:
-
Can this STAGED object exist when there are no effective pending changes? How can we verify that for our environment?
-
Would the next GitHub-triggered deployment after a push to main consume this uncommitted STAGED patch, or use the last committed configuration? Please distinguish GitHub autodeploy from “Deploy staged changes” and redeploying an existing deployment.
-
Is there a supported read-only method to obtain the effective diff as field paths and add/update/remove operations, without returning variable values? If not, could your team verify the effective diff for us?
We can provide the exact project, environment, service, patch, and deployment IDs through a private support channel. Please do not make any changes to the project.
Generic instructions to open “Details” do not resolve this case because the staged-changes banner is absent.
2 Replies
a month ago
We checked your production environment and confirmed it has zero staged changes. The API returns a record with STAGED status even when nothing is actually pending, which is expected behavior. The absent banner on the canvas is correct and consistent with that empty state.
A GitHub autodeploy from a push to main uses the last committed configuration only. It does not touch staged changes. Only clicking "Deploy" on the staged-changes banner applies a staged patch. Since yours is empty, pushing to main is safe.
To read the effective diff yourself via the public API, inspect the contents of the returned patch object without requesting decrypted values. An empty body confirms nothing is pending across all change categories (service config, variables, volumes, etc.).
Status changed to Awaiting User Response Railway • 26 days ago
25 days ago
This was a bug in how our API and MCP tools counted staged changes, and it is now fixed.
18 days ago
This thread has been marked as solved automatically due to a lack of recent activity. Please re-open this thread or create a new one if you require further assistance. Thank you!
Status changed to Solved Railway • 18 days ago