Skip to content

CI improvements

Simon McVittie requested to merge wip/protected/ci into main
  • container-runtime: Remove obsolete Gitlab-CI

    This was integrated into debian/gitlab-ci.yml in commit 7ce7ba8f "CI: Run the old SteamLinuxRuntime CI tests in the subproject" (!532 (merged)).

    Helps: steamrt/tasks#248

  • CI: Stop testing populate-depot in EOL distributions

    Debian 9 'stretch' and SteamOS 2 'brewmaster' are unmaintained.

    Helps: steamrt/tasks#248

  • CI: Use debian:bullseye-slim instead of our own legacy Docker image

    steamos/package-builder:bullseye contained a random selection of packages' build-dependencies. Use a more minimal image instead.

    Helps: steamrt/tasks#248

  • CI: Use dependency proxy to download third-party Docker images

    This mitigates Dockerhub rate-limiting, and should be faster. The proxy doesn't seem to like the Ubuntu images, so don't use it for them for now.

    Helps: steamrt/tasks#248

  • CI: Only explicitly test populate-depot.py on Debian

    We have two use-cases for this script: we use it to build production runtime releases, which we can do in an environment that we control, and we use it from tests/pressure-vessel/prepare-test-depots.sh as part of testing pressure-vessel.

    For the first use-case, we don't need to care about Ubuntu or Arch: we can use any OS image of our choice, and in this case, we have chosen to use Debian.

    For the second use-case, we don't need to test the script exhaustively: as long as tests/pressure-vessel/prepare-test-depots.sh succeeds, we're happy with that.

    Helps: steamrt/tasks#248

  • CI: Test populate-depot.py in Debian 12 instead of 11

    We currently use Debian 12 prereleases to build the actual production container depots, because Debian 12 has python3-vdf available in the ordinary package archive, meaning we don't have to bring our own. Reflect that here.

    I've kept this as a template job and an instantiation of that template, so that when we're eventually thinking about moving CI to Debian 13, we can test the script in that first, without losing Debian 12 coverage.

    Helps: steamrt/tasks#248

  • CI: Use Debian stable for the deploy step

    Previously, this used a mystery Docker image from a CI variable (in practice a loosely-curated Debian 11 image with an arbitrary assortment of build-dependencies). Let's use something more discoverable and also more minimal: a basic Debian 11 image.

    Helps: steamrt/tasks#248

  • CI: Use Debian testing for the build:devel and build:clang steps

    Previously, this used a mystery Docker image from a CI variable (in practice a loosely-curated Debian 11 image with an arbitrary assortment of build-dependencies). Let's use something more discoverable, more minimal, and more modern: the Debian "testing" rolling release. This will give us a newish version of tools like shellcheck.

    Helps: steamrt/tasks#248

  • CI: Run reuse lint as part of the ordinary test suite

    This should speed it up a bit by not having to provision another runner and download another Docker image.

    Helps: steamrt/tasks#248

/cc @denittis

Edited by Simon McVittie

Merge request reports