SteamDeckHomebrew / holo-docker

Docker images of the SteamOS Holo system
GNU General Public License v3.0
33 stars 10 forks source link

Beta / preview images #6

Closed ian-h-chamberlain closed 9 months ago

ian-h-chamberlain commented 1 year ago

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:

Does that all sound right? For my beta version, I swapped to variant=steamdeck-beta but kept version=snapshot and the same base build, but in the response the version isn't a snapshot:

{
  "minor": {
    "release": "holo",
    "candidates": [
      {
        "image": {
          "product": "steamos",
          "release": "holo",
          "variant": "steamdeck-beta",
          "arch": "amd64",
          "version": "3.5.0",
          "buildid": "20230915.100",
          "checkpoint": false,
          "estimated_size": 0
        },
        "update_path": "steamdeck/20230915.100/steamdeck-20230915.100-3.5.0.raucb"
      }
    ]
  }
}

compare this to the stable version, which is a snapshot:

{
  "minor": {
    "release": "holo",
    "candidates": [
      {
        "image": {
          "product": "steamos",
          "release": "holo",
          "variant": "steamdeck",
          "arch": "amd64",
          "version": "snapshot",
          "buildid": "20230831.1",
          "checkpoint": false,
          "estimated_size": 0
        },
        "update_path": "steamdeck/20230831.1/steamdeck-20230831.1-snapshot.raucb"
      }
    ]
  }
}

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!

AAGaming00 commented 1 year 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.

AAGaming00 commented 1 year ago

And yes we are interested in Beta images, maybe Main too

ian-h-chamberlain commented 1 year ago

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.

TrainDoctor commented 9 months ago

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.