fix(railway): root-anchor watch patterns#177
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (10)
📝 WalkthroughWalkthroughThis PR introduces E2E test resilience through Cucumber retries, improves handle picker flow synchronization, standardizes Railway deployment configuration with root-anchored paths, and updates package documentation. Changes span CI workflows, E2E test infrastructure, deployment configs, and package metadata. ChangesE2E Testing and Deployment Infrastructure
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🚅 Deployed to the ePDS-pr-177 environment in ePDS
|
Probe Railway root-anchored watch patterns with a harmless change under packages/shared.
There was a problem hiding this comment.
Pull request overview
This PR updates Railway service configs in the monorepo to use leading-slash (“repo-root anchored”) paths for watchPatterns and dockerfilePath, and documents that behavior for operators so rebuild filtering can include repo-root and sibling-package changes even though railway.toml lives under packages/*/.
Changes:
- Anchor all Railway
watchPatternsto the repository root by prefixing patterns (and negations) with/. - Prefix
dockerfilePathwith/to match the intended repo-root interpretation. - Update deployment docs and add a Changesets entry describing the operational change.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/pds-core/railway.toml | Root-anchors watch patterns and dockerfile path for pds-core rebuild filtering. |
| packages/demo/railway.toml | Root-anchors watch patterns and dockerfile path for demo rebuild filtering. |
| packages/auth-service/railway.toml | Root-anchors watch patterns and dockerfile path for auth-service rebuild filtering. |
| docs/deployment.md | Documents that Railway watch patterns are root-anchored (leading /). |
| .changeset/root-anchored-railway-watch-patterns.md | Adds release note describing the Railway rebuild-filtering change. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -5,32 +5,35 @@ builder = "DOCKERFILE" | |||
| # Path is relative to the repository root, not this package directory. | |||
| @@ -5,32 +5,35 @@ builder = "DOCKERFILE" | |||
| # Path is relative to the repository root, not this package directory. | |||
| @@ -3,32 +3,35 @@ | |||
| [build] | |||
| builder = "DOCKERFILE" | |||
| # Path is relative to the repository root, not this package directory. | |||
| Railway monorepo deployments now use repository-root paths for rebuild filtering. | ||
|
|
||
| **Affects:** Operators | ||
|
|
||
| **Operators:** the Railway service config files under `packages/*/railway.toml` now use leading-slash `watchPatterns` and `dockerfilePath` values, such as `/packages/shared/**` and `/Dockerfile.auth`, so rebuild filtering is evaluated against repository-root paths even though each config file lives inside a package directory. No environment variable changes are required. |
Coverage Report for CI Build 26223749503Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage increased (+0.2%) to 56.07%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions15 previously-covered lines in 1 file lost coverage.
Coverage Stats
💛 - Coveralls |
Co-Authored-By: Claude <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
Co-Authored-By: Claude <noreply@anthropic.com>
|
| @@ -5,32 +5,35 @@ builder = "DOCKERFILE" | |||
| # Path is relative to the repository root, not this package directory. | |||
| # Railway does not support --target for multi-stage builds, so we use a | ||
| # dedicated Dockerfile that produces only the pds-core image. | ||
| dockerfilePath = "Dockerfile.pds" | ||
| dockerfilePath = "/Dockerfile.pds" |
| @@ -3,32 +3,35 @@ | |||
| [build] | |||
| builder = "DOCKERFILE" | |||
| # Path is relative to the repository root, not this package directory. | |||
| Railway deploys automatically on push to the linked branch. Each service's | ||
| `railway.toml` defines `watchPatterns` so only relevant changes trigger a | ||
| rebuild. | ||
| `railway.toml` defines root-anchored `watchPatterns` (leading `/`) so only | ||
| relevant changes trigger a rebuild, even though the config files live under | ||
| `packages/*/`. |



Summary
This PR tests whether Railway watch patterns in package-local
railway.tomlfiles behave correctly when the paths are explicitly anchored to the repository root.Changes:
watchPatternsentries with/in:packages/auth-service/railway.tomlpackages/pds-core/railway.tomlpackages/demo/railway.tomldockerfilePathwith/for the same root-relative interpretation.descriptionfield topackages/shared/package.jsonas the actual probe for matching a sibling package path outside each service package.Why
The current unanchored patterns appear to be interpreted relative to the package directory containing each
railway.toml, rather than relative to the monorepo root. If Railway honors leading/as repo-root anchoring, then sibling/root paths such as/packages/shared/**,/package.json, and/e2e/**should once again trigger the intended service rebuilds.How to validate
The useful signal from this PR is Railway's deployment behavior on the latest commit:
packages/shared/package.json./packages/shared/**/packages/shared/**/packages/shared/package.jsonA later optional probe can touch only
e2e/**/*.mdorfeatures/**/*.mdto confirm the negated root-anchored patterns still skip rebuilds.Local validation
railway.tomlfiles with Pythontomllib.watchPatternsentries are root-anchored (/or!/).packages/shared/package.jsonwithpython3 -m json.tool.packages/shared/package.json,docs/deployment.md, and the changeset using the repo's installed Prettier.git diff --check.Full test suite not run: the functional signal we need from this PR is Railway's rebuild/skip behavior for the shared-package probe commit.
Summary by CodeRabbit
New Features
CUCUMBER_RETRYenvironment variable.Bug Fixes
Documentation
Chores