Repository navigation
feat(up): launch repository with externally defined devcontainer - #709
Conversation
Adds a --devcontainer source selector to `workspace up` so a user can
bypass the project's devcontainer.json entirely, instead of only
overriding its image field via --devcontainer-image.
Supported specs:
--devcontainer none ignore the project config; use
--devcontainer-image or language detection
--devcontainer image:<ref> use only that image
When a source spec is set, config resolution skips project discovery
(so multiple .devcontainer profiles no longer error) and synthesizes an
image-only config with no features, lifecycle hooks, or mounts from the
project. The synthesized config is written to a devsy-namespaced
filename (.devcontainer.devsy.json) so it never overwrites a user's own
root .devcontainer.json, which is a spec-valid config location.
This is phase 1 of a source/overlay/modifier axis model; id: and path
specs plus aliasing of --devcontainer-path/--devcontainer-id/
--fallback-image are planned follow-ups.
✅ Deploy Preview for devsydev canceled.
|
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
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 |
✅ Deploy Preview for images-devsy-sh canceled.
|
Summary
workspace uphad no way to ignore a project's devcontainer config.--devcontainer-imageonly overrides the image field of an already-resolved config — it still runs discovery (so multiple.devcontainer/<id>/profiles error out) and still applies the profile's features, lifecycle hooks, and mounts. That combination breaks in practice: e.g. a repo profile pullingdocker-outside-of-dockerfails to build on a swapped-in base image whose distro the feature doesn't support.This adds a
--devcontainersource selector so a user can bypass the project's devcontainer entirely.Usage
When a source spec is set, resolution skips project discovery (no more "multiple devcontainer configurations found" error) and synthesizes an image-only config — no features, hooks, or mounts from the project.
Notes
.devcontainer.devsy.json) so it never overwrites a user's own root.devcontainer.json(a spec-valid config location). Covered by a regression test.--devcontainer-imageis unchanged and still composes as the image modifier on top of any source.id:and<path>specs, and folding--devcontainer-path/--devcontainer-id/--fallback-imageinto--devcontaineras hidden aliases.