#✨ v0.12.1 - 18th July 2024
1 messages · Page 1 of 1 (latest)
Milestone: https://github.com/dagger/dagger/milestone/50
We've already got a few bugs found, etc.
The trick is to work out when we should aim for - there's currently a conversation ongoing in https://discord.com/channels/707636530424053791/1262401362516381768 and https://github.com/dagger/dagger/issues/7920. This prevents users from using dagger login on certain terminals.
If this is urgent, we should do the release asap - however, the milestone is kinda large, and so we should decide, and determine what stuff we can move into the next one
cc @quiet echo @tribal trail @potent tide @rough ridge @storm vessel @forest vector
For me it depends on how many people are affected by https://github.com/dagger/dagger/issues/7920
✨ v0.12.1
as far as i can tell, it's only alacritty based stuff (and maybe ghostty, though i think that's more edge casey, since it's so in-development, and not widely used)
i'm convinced it's urgent enough to release again this week on thursday, but i think it's okay to leave till then
Yeah given that not all terminals are affected by 7920, that seems reasonable to me
✨ v0.12.1 - 18th July 2024
opened https://github.com/dagger/dagger/pull/7932 for having login open the browser, kicking the tires on https://github.com/dagger/dagger/pull/7928 independently now, it might be viable, and addresses things we wanted to do anyway (e.g. not sending dagger version to Cloud)
we'll also have shorter trace names for this release 🎉 - went ahead and merged https://github.com/dagger/dagger/pull/7927
The golang module wasn't able to run after release because of an outdated go version. @magic lake, @potent tide, does it make sense for the Go runtime to check the version in go.mod and pull a corresponding base image? That would have fixed the issue.
Huh, we already set GOTOOLCHAIN=auto, I guess that wasn't enough? https://github.com/dagger/dagger/pull/6652
My guess is that's only available after Go 1.20?
Yeah, started in 1.21. Golang module was in 1.20.
hmm what do ya mean by golang module? I see 1.22 here: https://github.com/dagger/dagger/blob/a29dadbb5d9968784847a15fccc5629daf2985ae/engine/distconsts/consts.go#L24
I meant this one: https://github.com/dagger/dagger/pull/7934 (from Kyle)
Yeah I think we need https://github.com/dagger/dagger/pull/7904 right?
Yeah sadly this isn't possible for reasons that are so miserable
The parser is all a go library
The parser can only parse the versions on or below the version it was compiled with
I think there's an issue in the next milestone about this on the top of my head
The best we can really do is keep go up to date on the recent release (at least until we do something more extensive)
adding https://github.com/dagger/dagger/issues/7954 to the milestone - there's some very weird thing happening, that's causing jobs to hang at weird points, sometimes after completion
would appreciate any spare hands on it, if anyone's managed to reproduce this locally, that would be 
speaking of releases? are we still aiming for tomorrow? the big fix currently in is the cleanup of dagger login to always be able to click the link
yeah, I think we're good to release whenever as far as dagger login is concerned. we have all the fixes merged: your initialization refactor, and auto-opening the browser
Gonna merge https://github.com/dagger/dagger/pull/7804 in a few, doing some last minute testing to see if a performance optimization actually makes any difference.
It's a significant enough change that I'd cautiously classify it as mildly risky, but nothing too fundamental and adds enough test coverage that I feel good about still going forward with a release tomorrow rather than letting it bake.
I also want to get a fix in for https://github.com/dagger/dagger/issues/7910. I don't think it's too huge or invasive, just a silly corner case, so will get a PR out by my tonight if possible
Unless something large changes, how do folks feel about holding until #1263140175144288328 are understood? Or should we go ahead? I guess TUI fixes and 7804 are good reasons to go tomorrow
I don't personally feel compelled to rush things to tomorrow and wouldn't mind waiting to understand that one. Releasing on monday instead if needed doesn't sound bad to me.
Heads up I'm also off on Friday (and maybe Monday, yet to decide, happy to have someone else run this one as well)
But yeah, adding complicated changes while we don't understand what could be going on here does kiiiinda worry me - but we could definitely go for it, since it's definitely already in 0.12
We definitely should shift some things in the milestones, like context dirs, which feel unlikely to make it for 0.12.1
Will make a call tomorrow morning, if I do go for it, itll be sometime around midday UK time 🎉
Oh yeah in the interest of trading off it would be my turn anyways 👍
I'll try to get something out that at least prevents hanging tonight, might be a partial revert of the services PR as it's the only thing I can imagine breaking this - probably https://github.com/dagger/dagger/pull/7735/commits/c712183bfe1506577c2cfdbad4c620e932344025 if I had to guess
Or just skipping draining, or having a 10s timeout, or [...] - just a band-aid until the rework, which I'd like to prioritize instead of trying to debug the current thing
What is this not the most fun and enjoyable bug ever 😛
Telemetry draining bug number 348 🙂

Here's a PR for the timeout: https://github.com/dagger/dagger/pull/7966
Makes sense to me! Like you said, not worth intensely fighting something we can refactor away soon enough
Ah this one should definitely go in: https://github.com/dagger/dagger/pull/7924
If I could get a review on that 🙏
Fix for that terminal+custom-CAs bug here: https://github.com/dagger/dagger/pull/7969
Docs for passing unix socks here too: https://github.com/dagger/dagger/pull/7970
(test failures appear to all be known flakes)
@storm vessel can I get a review on https://github.com/dagger/dagger/pull/7948 ?
i also need an approve on https://github.com/dagger/dagger/pull/7947 to help some jobs on main go green
Do you need an actual review on this one, or a rubberstamp lgtm?
I can help with the former but not the latter 🙂
hm, additionally, something is very wrong with our testdev jobs 🤔 the docker daemon is not running
@ionic mortar @forest vector i know we were doing ci things yesterday, along with the hot-switch to on-demand, so maybe there's something there? https://github.com/dagger/dagger/actions/runs/9987807278/job/27602937065#step:3:136
might be just a fluke, let's see
hmmmm it does not appear to be, this is pretty consistent
yeah, the docker daemon is just not running on the dind nodes: https://github.com/dagger/dagger/actions/runs/9990058403/job/27609942970?pr=7972#step:3:129
I'll take a look at it in a bit!
thanks 🙏 absolutely huge kudos for all the help in the last couple days 😄
There appears to be some issues with mounting the secret with credentials, checking now
We are definitely reaching some issue when trying to pull the image, I see that the credentials are actually present and seem to be valid. I think its related to a restart loop that is happening with the main runners, they are failing in the init script and it is causing to constantly repull the same images. We are probably going over the rate limit even for authenticated users. Its 200 pulls per 6 hour period, and this has been looping for quite a while. I'll fix the main runners now
https://github.com/dagger/dagger.io/pull/3855 @forest vector quick +1 if you can
one more little test fixup: https://github.com/dagger/dagger/pull/7975
https://github.com/dagger/dagger/pull/7958 could also make it in, super small change but got a few hearts on it
Docker daemons are now stable. Just retriggered this one: https://github.com/dagger/dagger/actions/runs/9990058403/job/27614191059. testdev seems to be doing its thing now!
i think i'll just get everything into main, and hand off the rest of the process to @tribal trail
i have to head off a little earlier than normal today, so don't want to be trying to rush it
forking out of #1263141263524237363 message - is this functionality a blocker to the release?
regardless, i'm headed off in about 10 mins, so not really able to do it - can pick up on tuesday when i'm back
if it is a blocker, then we would maybe need to revert https://github.com/dagger/dagger/pull/7928 (to keep telemetry for dagger version/dagger login/dagger logout)
but that then breaks the clickable link in alacritty 😛
Do you have an opinion here @potent tide?
I'd say keep the change; imo it's better to skip Cloud for version, login etc. - if we want analytics or something, we can add that separately, but they seem like more noise than signal in Cloud, and we had multiple requests to not send them to Cloud
(Also we can always go back on that if we want)
Yeah exactly, from my skim of it that's what it seemed like too, if we change our minds it's okay to wait for v0.12.2
@potent tide quick CI fix to the engine logs artifacts: https://github.com/dagger/dagger/pull/7977
A bunch of the SDK dev tests fail because different steps try to upload the dev engine logs but get an error since the logs artifact already exists.
I think that setting overwrite to true will avoi...
Fixed that problem that was causing failures on main ^. Still getting flakes on main of course but double checking everything is a known flake before proceeding
All good ✅
engine + cli publish job running: https://github.com/dagger/dagger/actions/runs/9997922225/job/27635642625
Hmmm CLI publish failed because the v0.12.1 changelog wasn't present... Following RELEASING.md that's actually what the instructions result in. But I think we had an implicit assumption of including the PR that adds the next version changelog PR in tag.
Will fix RELEASING.md after all this, but in meantime I will delete+re-tag. I'm not sure yet if the engine image publishes will be happy when the publish jobs re-run, will see what happens. Worst case I may need to manually delete some tags in the registry.
Would it be useful to have integration tests for the CLI publish? I started taking a stab at daggerizing goreleaser, and was wondering about testing it - maybe with service bindings to simulate S3? Might be a bit of work, but worth it if you think it would actually be useful.
We have something of a dry-run publish; I wouldn't mind it being fleshed out more. But this specific case is highly specific to a "real" publish since it's looking for a file .changes/v0.12.1.md, which is only going to exist during the actual publish.
I'm not seeing much of a way to really catch this specific scenario until it happens. I think what's most important is that when it happens we can safely re-tag and re-publish without creating any inconsistent state and/or requiring any manual effort.
New publish job is here: https://github.com/dagger/dagger/actions/runs/9998101150/job/27636218600 will see how it goes
Okay the engine image + CLI publish succeed on the new run. So that's actually a good sign so far; when the unexpected happens it's easily recoverable with minimal manual effort. I'll do extra double checks this time around to confirm 100%, but so far so good.
We did hit the problem with permissions on the automated bump engine version PR again: #infrastructure message
I'm guessing we just worked around with manual effort during v0.12.0? We need to fix that after this release is done; adding to list.
Oh yeah I just saw the message below the one I linked, was just manually worked around during v0.12: #infrastructure message Will do the same for the moment
Just following the manually created one from last time as a template: https://github.com/dagger/dagger/pull/7903
This PR was not auto-generated.
cc @gerhard https://github.com/dagger/dagger/actions/runs/9909287007/job/27377007275#step:11:518
@potent tide hitting a bunch of cases of the jobs succeeding but marked as failed in dagger cloud only due to "we never saw this span complete" - I know we've seen that before, just checking it's tracked and/or expected to be fixed by the draining changes in v0.12.1
in this pr: https://github.com/dagger/dagger/pull/7978
Same as v0.12.0, need to manually create this since the automated bump engine PR hits permission issues:
Last manually created PR: #7903
Permission error during publish: https://github.com/dagger/...
Example GHA job passing: https://github.com/dagger/dagger/actions/runs/9998434054/job/27637315038?pr=7978
With the cloud job failed due to incomplete span: https://dagger.cloud/dagger/traces/a747c2e9c9a7d0b766c0743f0dbb2e1e
@tribal trail would any of the issues encountered in 0.12.0 and 0.12.1 release, possibly be remediated by running the goreleaser publish process locally with dagger call, instead of in a GHA job?
It feels kind of weird to me to automate that stuff in CI - maybe if there was nothing else to do by hand, but since there are so many local steps anyway... feels unnecessarily brittle to me. maybe I'm wrong
(ie. it's not like you can just git tag, push and go home anyway. So is it worth the extra complication to do one part in CI, and another part locally)
Not that I can see, but I'm supportive of doing more of all that "dagger natively" nonetheless. We've used goreleaser to do everything for a very long time, made more sense in the past but less so now that we have modules and can break each step goreleaser does down into individual standalone modules
To be clear I'm talking about running the existing "daggerized goreleaser" pipeline, only locally instead of from CI
(and yeah also what you said, with lots of low hanging fruits we can pick along the way without even removing goreleaser - just daggerizing it more efficiently)
Also I discovered that goreleaser pro (which we already pay for) has a goreleaser release --prepare command that lets you prepare the release and validate everything without publishing , then actualy publish separately. I don't think we take advantage of that currently, but might be easier to do locally
--> https://goreleaser.com/cmd/goreleaser_publish/
I guess if it only does the glorified go build, it doesn't de-risk that much
Oh I see, yeah we have taken baby steps in that direction. E.g. when I had to manually create the bump engine PR I just ran two dagger calls. But there's a million little things left in terms of automating and consolidating.
I think a good goal would be to encapsulate the entire release into as few dagger calls as possible. Then it could run locally or in CI equivalently and it wouldn't even matter where it's happening.
The only somewhat annoying part of "local" that would remain is getting all the various keys+secrets. But with a 1password module that could also be fully daggerized
(pretty sure that module already exists actually? have a memory of it)
1password module? Yeah I think that exists
Need a ship it on https://github.com/dagger/dagger/pull/7978
Same as v0.12.0, need to manually create this since the automated bump engine PR hits permission issues:
Last manually created PR: #7903
Permission error during publish: https://github.com/dagger/...
weird - I see two engine lints, one happy and one sad:
Huh, same PR? I did have to do a rerun of tests but engine lint only passed and should have only ran once
the happy one is the only one I can find in GHA, and the reruns didn't even rerun it
sorry, clarification: the happy one is the one linked from the successful GHA job
and the sad one is the one linked from the checks
I did open up a draft PR at first actually and then had to push more commits
@old sigil would be nice to have git metadata on the trace page for cases like this - it's hard to tell why/where a trace came from
Oh, I wonder if the GHA checks UI was showing me the trace from the draft PR still even after I updated it?
Either way, separate issue, that PR is good. Just can't self-ship-it 🙂
maybe? it's possible that its run got interrupted by the push. but I don't know why it would then be showing up on this commit. unless it's the same commit?
was it commit deadbeef => change from draft to ready => deadbeef? or was there a push?
maybe changing from draft to ready also interrupts for some reason? like from having another trigger on the workflows
I pushed a separate commit, no force push or anything, and then marked it as ready for review
Yeah could be
if that's the case, it's possible that Cloud timing out the original trace clobbered the happy one, since it's the same commit, and that happens on a 5 min delay
approved
Merged it, moving onto Go SDK once main CI is done
had an open PR for it before all the refactoring, but wasn't fully proud of it
could revive it + search by branch
Seems worth reviving to me, I guess the tricky part is ideally in this case it would even link back to the exact workflow run, which I'm not sure we have. But the trace page definitely feels like it loses context atm
it will take you to the group for sure, like the branch + commit combo
as for the workflow run, I guess it's metadata blocked by the GHA control plane work, as that will add some new labels to pick up from GitHub, which means recreating the view
Okay Go is all released, improve-releasing PR here with notes on things to fix up so far https://github.com/dagger/dagger/pull/7983
Moving onto the rest of the SDKs
More follow-ups once release is done:
Fix ordering of instructions to ensure that the changelog PR is always included in engine+cli tag: https://discord.com/channels/707636530424053791/12624303156...
Okay SDKs+Helm chart are all good to go
@burnt yoke @ionic mortar @forest vector @twin kernel pinging as instructed to update
- Playground
- Daggerverse
- Dagger Cloud
No breaking changes this time, so no time pressure.
Nix flake is good: https://github.com/dagger/nix/commit/63950b3252f75f6198687b5e8c6247dfa612f3d4
Homebrew looks good: https://github.com/Homebrew/homebrew-core/pull/177773
@rustic karma dagger-for-github PR here when you have a sec: https://github.com/dagger/dagger-for-github/pull/137
So good to go pending updates to cloud infra 🎉 . Gonna go work on the fixes in the improve releasing PR
I'll release now
Re-pinging w/out @silent so it's not lost
Daggerverse: https://github.com/dagger/dagger.io/pull/3865
Playground: https://github.com/dagger/dagger.io/pull/3864
cc @burnt yoke
Still checking some errors for cloud
Thank you!!