Repository navigation
feat: ✨ Support structured-yaml git dependency - #328
Merged
dasormeter merged 8 commits intoOct 30, 2026
Merged
Conversation
This was referenced Oct 15, 2026
Contributor
|
@ffarall can you rebase your PR? -- will review and merge today if all looks good |
dasormeter
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #311 (see conversation).
damlcfrom SDK 3.6 accepts map entries independenciesanddata-dependencies, so the structured git form dropped in that PR can stay indaml.yamlinstead of being flattened to agit:one-liner.Summary
url,ref, andpathname a file in the repository.releaseandassetname a GitHub release asset.main-package-idmay sit besidegit. Any other key is rejected.refto the commit SHA. One-liners are unchanged.This is the choice most likely to need discussion.
The idea is to give the user a clearer error when they're trying to use a structured git dependency on an older SDK with an older
damlcthat does not support it.In this PR's code,
dpmrefuses to launch an SDK command when the package contains a structured git dependency and the SDK that command would run is older than 3.6. The constraint is>= 3.6.0-0, so 3.6.0 and 3.6 snapshots pass, and 3.5 and earlier do not. The version checked is the one injected asDPM_SDK_VERSION: that environment variable if set, otherwise the packagesdk-version, otherwisemulti-package.yaml. A file that says3.6.0is still rejected when the command would run 3.5. An empty version is rejected too. The error tells the user to use agit:one-liner.The gate is deliberately not part of reading
daml.yaml.dpm install package,dpm update, anddpm resolvestill fetch, pin, and resolve a structured entry on an older SDK. The failure is reserved for the momentdpmis about to hand the file todamlc, which is what cannot read the mapping.Two limits follow from that placement:
dependencies.dpmcommands, for a project that selects its tools withcomponents:, or for a multi-package command started from the project root rather than from a package directory. In those casesdamlcreports the mapping itself.The
git:one-liner is not subject to this check.