Closed ian-h-chamberlain closed 9 months ago
I'm a bit confused overall about how Valve's release process works, from looking around on
While you can do it that way, if you want to guarantee you get the exact same data the steam deck updater dameon works then you should look at how download.sh implements it. you need to provide a correct version that was released on the branch you choose for it to work correctly.
nvm I misunderstood
you have to pass in a previous version for your selected channel as "buildid" for it to work. it's a diff based system, so you get nothing if you pass the current version.
And yes we are interested in Beta images, maybe Main too
Just for posterity I did a bit of digging into how updates are fetched and posted my findings here: https://github.com/SteamDeckHomebrew/holo-docker/pull/5#discussion_r1334918571
From what I can tell it seems like snapshot
is the default used for patch updates, even on stable, which is a bit confusing/surprising but at least I think we should be able to use the same value when looking for any variant, beta
, stable or main
.
For now we are not planning on producing beta or preview images as an option right now just due to the complexity. If there is further interest expressed then it's definitely possible but it just wouldn't be of much benefit to us right now.
I realize there may not be a ton of demand for these, as mentioned in https://github.com/SteamDeckHomebrew/holo-docker/issues/4#issuecomment-1374337193 but admittedly, part of the reason I started working on #5 was because I actually wanted to build myself a 3.5 image to start developing in it.
I've gotten a proof of concept building in my fork, and I'm happy to work on upstreaming it if that's something that would be considered useful. There are a couple of considerations I'd like to ask about or at least mention, though:
The package list looks different between different release branches, so there would be some additional maintenance there. Right now I have a
removed-beta.txt
,removed-release.txt
andremoved-packages.txt
(common to both) in my implementation, does that seem like a reasonable approach?Is it worth also having a separate
preview
(orbc
) build? At the moment, it seems like 3.5.0 is the current version for bothbeta
andbc
, so maybe just having a singlebeta
is simpler (at least for the time being)?Does the
variant
for the base image need to besnapshot
? I'm a bit confused overall about how Valve's release process works, from looking around on https://steamdeck-atomupd.steamos.cloud/meta/steamos/amd64/ I have gathered a couple things, but since y'all set up this image maybe you understand / can explain it better:snapshot
represents Arch packages captured at some date in time (date becomes thebuildid
, before the.
?)variant
goes roughly fromsteamdeck-main
->steamdeck-bc
->steamdeck-beta
->steamdeck
. Not sure wheresteamdeck-staging
fits insnapshot
(andbuildid
) may be updated as it travels through the stabilization processdownload.sh
looks forvariant=steamdeck
(stable) packages withversion=snapshot
starting from some basebuildid
to get the most snapshot used for the most latest stable imageDoes that all sound right? For my beta version, I swapped to
variant=steamdeck-beta
but keptversion=snapshot
and the same basebuild
, but in the response the version isn't asnapshot
:compare this to the stable version, which is a
snapshot
:It doesn't seem to be a problem but I was just curious if this looks "correct" based on the build process for the stable versions or not.
Phew, that was a lot more writing than I thought this issue would be! Long story short, if you'll take it, I'm happy to take a stab at building beta packages and opening a PR to implement it. If not, I can probably make do on my fork in the meantime. Thanks!