Skip to content
Snippets Groups Projects

CI improvements

Merged Simon McVittie requested to merge wip/protected/ci into main
All threads resolved!
1 file
+ 4
8
Compare changes
  • Side-by-side
  • Inline
  • 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
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
+ 20
75
@@ -161,12 +161,19 @@ package:sniper:
build:devel:
stage: build
rules:
- if: '$DEVEL_DOCKER_REGISTRY != "" && $DEVEL_DOCKER_IMAGE != ""'
image: "${DEVEL_DOCKER_REGISTRY}/${DEVEL_DOCKER_IMAGE}"
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/debian:testing-slim
before_script:
- *common_before_script
- ./ci/prepare-deb.sh $BUILD_DEPENDENCIES
- |
./ci/prepare-deb.sh \
$BUILD_DEPENDENCIES \
mypy \
pigz \
pycodestyle \
pyflakes3 \
reuse \
shellcheck \
${NULL+}
script:
- |
set -eux
@@ -191,12 +198,10 @@ build:devel:
build:clang:
stage: build
rules:
- if: '$DEVEL_DOCKER_REGISTRY != "" && $DEVEL_DOCKER_IMAGE != ""'
image: "${DEVEL_DOCKER_REGISTRY}/${DEVEL_DOCKER_IMAGE}"
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/debian:testing-slim
before_script:
- *common_before_script
- ./ci/prepare-deb.sh $BUILD_DEPENDENCIES clang clang-tools
- ./ci/prepare-deb.sh $BUILD_DEPENDENCIES clang clang-tools libclang-rt-dev
script:
- |
set -eux
@@ -367,7 +372,7 @@ relocatable-install:production:
test:debian-10:
extends: .test_deb
image: debian:buster-slim
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/debian:buster-slim
test:ubuntu-18.04:
extends: .test_deb
@@ -379,7 +384,7 @@ test:ubuntu-20.04:
test:archlinux:
extends: .test_template
image: archlinux:latest
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/archlinux:latest
script:
- ./ci/prepare-arch.sh
- |
@@ -409,10 +414,6 @@ deploy:
- package:i386
- relocatable-install:production
rules:
- if: '$DEVEL_DOCKER_REGISTRY == ""'
when: never
- if: '$DEVEL_DOCKER_IMAGE == ""'
when: never
- if: '$PRESSURE_VESSEL_CI_UPLOAD_HOST == ""'
when: never
- if: '$PRESSURE_VESSEL_CI_UPLOAD_HOST_SSH_PUBLIC_KEYS_FILE == ""'
@@ -432,7 +433,7 @@ deploy:
# To debug changes to this CI step, change this to when: on_success
# or when: manual, and push to a protected branch
- when: never
image: "${DEVEL_DOCKER_REGISTRY}/${DEVEL_DOCKER_IMAGE}"
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/debian:bullseye-slim
before_script:
- *common_before_script
- ./ci/prepare-deb.sh devscripts openssh-client rsync
@@ -473,32 +474,6 @@ deploy:
paths:
- subprojects/container-runtime/depots/*.txt
- subprojects/container-runtime/depots/*/VERSIONS.txt
test-populate-depot:debian-11:
extends: .test-populate-depot
image: docker.internal.steamos.cloud/steamos/package-builder:bullseye
# Run tests in stretch (this lets us assert that the test script
# is syntactically valid in Python 3.5). Ignore any pyflakes, shellcheck,
# etc. warnings because these older versions are probably less good at
# avoiding false positives.
test-populate-depot:debian-9:
extends: .test-populate-depot
image: docker.internal.steamos.cloud/steamos/package-builder:stretch
script:
- make -C subprojects/container-runtime check TESTS_ONLY=true
# The same, but for brewmaster and Python 3.4
test-populate-depot:steamos-2:
extends: .test-populate-depot
image: docker.internal.steamos.cloud/steamos/package-builder:brewmaster
script:
- make -C subprojects/container-runtime check TESTS_ONLY=true
# The same, but for Ubuntu 18.04
test-populate-depot:ubuntu-18.04:
extends: .test-populate-depot
image: ubuntu:18.04
before_script:
- |
set -eux
@@ -511,42 +486,12 @@ test-populate-depot:ubuntu-18.04:
perl \
python3 \
python3-debian \
python3-vdf \
xz-utils \
${NULL+}
tempdir="$(mktemp -d)"
git clone --branch steamrt/soldier https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.steamos.cloud/packaging/python-vdf.git "$tempdir/python-vdf"
export PYTHONPATH="$tempdir/python-vdf"
# The same, but for Arch
test-populate-depot:archlinux:
test-populate-depot:debian-12:
extends: .test-populate-depot
image: archlinux:latest
before_script:
- |
set -eux
echo -e "\n[multilib]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
pacman -Syu --needed --noconfirm --noprogressbar \
base-devel \
git \
perl \
python \
python-chardet \
python-six \
python-tappy \
sudo \
${NULL+}
tempdir="$(mktemp -d)"
git clone --branch debian/buster https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.steamos.cloud/packaging/python-debian.git "$tempdir/python-debian"
git clone --branch steamrt/soldier https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.steamos.cloud/packaging/python-vdf.git "$tempdir/python-vdf"
export PATH="/usr/bin/core_perl:$PATH"
export PYTHONPATH="$tempdir/python-debian/lib:$tempdir/python-vdf"
reuse:
stage: test
needs: []
image:
name: fsfe/reuse:latest
entrypoint: [""]
script:
- reuse lint
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/debian:bookworm-slim
# vim:set sw=4 sts=4 et:
Loading