SteamOS-Waydroid-Installer icon indicating copy to clipboard operation
SteamOS-Waydroid-Installer copied to clipboard

Add CI to ensure script is always tested and working

Open agilgur5 opened this issue 11 months ago • 2 comments

Motivation

It would be great to add Continuous Integration (CI) to the repo to ensure the script and all PRs to it are tested and confirmed working. GitHub Actions would be the easiest/most straightforward way to do that on GH.

I'm not sure if the entire script would be possible to test/compatible with GitHub Actions, but if you can run a SteamOS VM, I would think most, if not all, would work.

Alternatively, could test portions of the script (would need to split some things up) on GHA.

This would also fulfill the OpenSSF Scorecard Check for "CI-Tests"

Implementation Details

  1. [ ] MVP would be to just ensure the script exits with a zero exit code and no errors
  2. [ ] Could further add some tests against the filesystem or certain commands with bats or similar tools
  3. [ ] Could have a matrix to test compatibility against different SteamOS versions or versions of other used code

agilgur5 avatar Dec 21 '24 20:12 agilgur5

but if you can run a SteamOS VM

I don't think this is possible if using GitHub hosted runners; only Ubuntu VMs are supported.

But could run SteamOS as a container via a GHA container job.

Might need specific permissions to be able to run Waydroid in a container (DinD-style)

agilgur5 avatar Dec 21 '24 22:12 agilgur5

SteamOS as a container

holo-docker (from the Decky Loader folks) seems like it could be a better option than docker-steamos as it uses the image direct from Steam/Valve and so would have better dev/prod parity (compared to a more reverse-engineered Arch -> SteamOS image)

agilgur5 avatar Jan 27 '25 02:01 agilgur5