diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml index eba6f0e0e3da93e514a581a68c4c2681b1c5cc21..918b7378afe6e9afd7c43b5957bac8fdaba00c6d 100644 --- a/debian/gitlab-ci.yml +++ b/debian/gitlab-ci.yml @@ -321,36 +321,6 @@ relocatable-install:production: - _build/production/pressure-vessel-bin+src.tar.gz when: on_success -.prepare_test: &prepare_test - - | - set -eux - - PRESSURE_VESSEL=_build/production/pressure-vessel-bin.tar.gz - mkdir -p _build/depot-template/common - - if [ -n "${IMAGES_DOWNLOAD_URL}" ] && [ -n "${IMAGES_DOWNLOAD_CREDENTIAL}" ]; then - python3 ./pressure-vessel/populate-depot.py \ - --depot=_build/depot \ - --source-dir=_build/depot-template \ - --include-sdk \ - --unpack-runtimes \ - --credential-env IMAGES_DOWNLOAD_CREDENTIAL \ - --images-uri "${IMAGES_DOWNLOAD_URL}"/steamrt-SUITE/snapshots \ - --pressure-vessel "${PRESSURE_VESSEL}" \ - scout \ - soldier \ - ${NULL+} - else - python3 ./pressure-vessel/populate-depot.py \ - --depot=_build/depot \ - --source-dir=_build/depot-template \ - --unpack-runtimes \ - --pressure-vessel "${PRESSURE_VESSEL}" \ - --version latest-steam-client-public-beta \ - scout \ - ${NULL+} - fi - .i386_dependencies: &i386_dependencies - | set -eux @@ -384,7 +354,7 @@ test:debian-10: extends: .test_template image: debian:buster-slim script: - - *prepare_test + - ./tests/pressure-vessel/prepare-test-depots.sh - *i386_dependencies - | set -eux @@ -397,7 +367,7 @@ test:ubuntu-18.04: extends: .test_template image: ubuntu:18.04 script: - - *prepare_test + - ./tests/pressure-vessel/prepare-test-depots.sh - *i386_dependencies - | set -eux @@ -410,7 +380,7 @@ test:ubuntu-20.04: extends: .test_template image: ubuntu:20.04 script: - - *prepare_test + - ./tests/pressure-vessel/prepare-test-depots.sh - *i386_dependencies - | set -eux @@ -448,7 +418,7 @@ test:archlinux: export PYTHONPATH="$tempdir/python-debian/lib" script: - - *prepare_test + - ./tests/pressure-vessel/prepare-test-depots.sh - | set -eux diff --git a/tests/pressure-vessel/prepare-test-depots.sh b/tests/pressure-vessel/prepare-test-depots.sh new file mode 100755 index 0000000000000000000000000000000000000000..b8c9fbcd6a91456d7cef1ecdd4058428c66caf5d --- /dev/null +++ b/tests/pressure-vessel/prepare-test-depots.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +set -eux + +builddir="${1:-_build}" +PRESSURE_VESSEL="${2:-_build/production/pressure-vessel-bin.tar.gz}" + +rm -fr "$builddir/depot" +rm -fr "$builddir/depot-template" +mkdir -p "$builddir/depot" +mkdir -p "$builddir/depot-template/common" + +if [ -n "${IMAGES_DOWNLOAD_URL-}" ] && [ -n "${IMAGES_DOWNLOAD_CREDENTIAL-}" ]; then + suites="scout soldier" + set -- \ + --include-sdk \ + --credential-env IMAGES_DOWNLOAD_CREDENTIAL \ + --images-uri "${IMAGES_DOWNLOAD_URL}"/steamrt-SUITE/snapshots \ + ${NULL+} +else + suites="scout" + set -- \ + --version latest-steam-client-public-beta \ + ${NULL+} +fi + +for suite in $suites; do + python3 ./pressure-vessel/populate-depot.py \ + --depot="$builddir/depots/$suite" \ + --pressure-vessel "${PRESSURE_VESSEL}" \ + --source-dir="$builddir/depot-template" \ + --unpack-runtimes \ + "$@" \ + "${suite}" + for member in "$builddir/depots/$suite"/*; do + rm -fr "$builddir/depot/${member##*/}" + done + mv "$builddir/depots/$suite"/* "$builddir/depot/" +done + +# vim:set sw=4 sts=4 et: