design: drop the version setting, track the latest Deno release#5
Draft
TomChv wants to merge 9 commits into
Draft
design: drop the version setting, track the latest Deno release#5TomChv wants to merge 9 commits into
version setting, track the latest Deno release#5TomChv wants to merge 9 commits into
Conversation
…atest-image lookup Signed-off-by: Tom Chauveau <tom@dagger.io>
…e cached pull Signed-off-by: Tom Chauveau <tom@dagger.io>
…ctly Signed-off-by: Tom Chauveau <tom@dagger.io>
…-sdk gate Signed-off-by: Tom Chauveau <tom@dagger.io>
…'t set Signed-off-by: Tom Chauveau <tom@dagger.io>
… Deno.* syntax Signed-off-by: Tom Chauveau <tom@dagger.io>
Signed-off-by: Tom Chauveau <tom@dagger.io>
…, no --base flag) Signed-off-by: Tom Chauveau <tom@dagger.io>
…) vs the self-call loop Signed-off-by: Tom Chauveau <tom@dagger.io>
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.
Design doc only — no code. Replaces #2
(automatic version bumps), which we closed in favour of resolving "latest" at
call time inside the module.
Idea
Delete the
versionsetting. A@cache(ttl: "168h")function does a barecontainer.from("denoland/deno:alpine"); the mutable tag resolves to a digestonce and the engine holds that resolved container for a week, so it rolls forward
on its own — no bump PRs, no GitHub Action, no secrets.
basebecomes a nullablesetting (unset = track latest, set = exact pin), resolved in a
toolchaincomputed field via a self call.
versionsurvives as a read-only report.Verified working on
main(@1862b24f)Self calls work with this repo's
dagger-module.toml+dangruntime setup —no experimental flag, no legacy
dagger.json. Two things have to be right:Deno.latestImageresolves;deno.latestImagefailsError: "deno" not found. (Earlier revisions of thisdoc wrongly concluded self calls were disabled for TOML modules — that was this
typo, now retracted.)
=default with a self callhangs on read, so
basestays a plain setting resolved intoolchain.Tested end to end with the real deno module and a standalone repro.
@cache(ttl:)compiles to a real TTL;
base ?? Deno.latestImage…returns the latest image whenbaseis unset.Still to confirm (§7)
baseoverride when nullable (unset path verified;--base/settings override not yet):alpine/:bin); 7d vs 24h.Also covers
deno.dang/deno-project.dang/deno-workspace.dangchanges (the-Afallback and
supportsPermissionSetsgo away once the default is always latest).docs/current_docs/modules/deno.mdxrewrite indagger/dagger: drop theversionsetting bullet, thedagger settings deno versionsnippet and the"mutually exclusive" line; document pinning via
base.control, not a lockfile — cold CI engines resolve latest every run.