aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Marvin Schmidt <marv@exherbo.org> 2019-03-18 23:27:44 +0100
committerAvatar Marvin Schmidt <marv@exherbo.org> 2019-04-26 13:55:14 +0200
commit5fa2044f91ef709ae076927bc354ce6f78905356 (patch)
tree5aba9f0171284a043db612f5d53ed2e61651e768
parent6afb441957713357f74d9495414b8375f193589b (diff)
downloadpaludis-5fa2044f91ef709ae076927bc354ce6f78905356.tar.gz
paludis-5fa2044f91ef709ae076927bc354ce6f78905356.tar.xz
ci: Add Exherbo testing build
Builds paludis with GCC in an Exherbo environment with all testing/broken packages unmasked, so that we catch problems with future versions of those packages early
-rw-r--r--.gitlab-ci.yml18
-rw-r--r--ci/docker/exherbo/paludis-exherbo-gcc/Dockerfile5
-rwxr-xr-xci/docker/exherbo/paludis-exherbo-gcc/build.sh16
3 files changed, 38 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 460169c..dcd893a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,6 +38,24 @@ test:exherbo:
- build:exherbo
<<: *test-template
+build:exherbo-testing:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "gcc"
+ VERSION: "next"
+ allow_failure: true
+ <<: *build-template
+
+test:exherbo-testing:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "gcc"
+ VERSION: "next"
+ dependencies:
+ - build:exherbo-testing
+ allow_failure: true
+ <<: *test-template
+
build:exherbo-clang:
variables:
DISTRIBUTION: "exherbo"
diff --git a/ci/docker/exherbo/paludis-exherbo-gcc/Dockerfile b/ci/docker/exherbo/paludis-exherbo-gcc/Dockerfile
index fadf756..f625170 100644
--- a/ci/docker/exherbo/paludis-exherbo-gcc/Dockerfile
+++ b/ci/docker/exherbo/paludis-exherbo-gcc/Dockerfile
@@ -1,12 +1,17 @@
FROM exherbo/exherbo-x86_64-pc-linux-gnu-base:latest
MAINTAINER Marvin Schmidt <marv@exherbo.org>
+# Control dependency versions
+ARG DEPENDENCY_VERSIONS
+ENV DEPENDENCY_VERSIONS ${DEPENDENCY_VERSIONS:-stable}
+
# Switch to option.conf.d layout
RUN rm /etc/paludis/options.conf \
&& mkdir /etc/paludis/options.conf.d
COPY ./config/options/* /etc/paludis/options.conf.d/
COPY ./config/sets/paludis-deps.conf /etc/paludis/sets/
+RUN echo "*/* ${DEPENDENCY_VERSIONS}" >> /etc/paludis/package_unmask.conf
RUN chgrp tty /dev/tty \
&& eclectic env update \
diff --git a/ci/docker/exherbo/paludis-exherbo-gcc/build.sh b/ci/docker/exherbo/paludis-exherbo-gcc/build.sh
index 9a81212..4ade372 100755
--- a/ci/docker/exherbo/paludis-exherbo-gcc/build.sh
+++ b/ci/docker/exherbo/paludis-exherbo-gcc/build.sh
@@ -1,9 +1,23 @@
#!/usr/bin/env bash
# vim: set sw=4 sts=4 ts=4 et tw=80 :
+# latest = current stable versions
+# next = all testing versions unmasked
+IMAGE_VERSION=${1:-latest}
+
+if [[ ${IMAGE_VERSION} == "latest" ]]; then
+ DEPENDENCY_VERSIONS="stable"
+elif [[ ${IMAGE_VERSION} == "next" ]]; then
+ DEPENDENCY_VERSIONS="testing broken"
+else
+ echo "Unknown image version, use 'latest' or 'next'"
+ exit 1
+fi
+
docker build \
--no-cache \
--rm \
--pull \
- --tag paludis/exherbo-gcc \
+ --build-arg DEPENDENCY_VERSIONS="${DEPENDENCY_VERSIONS}" \
+ --tag paludis/exherbo-gcc:${IMAGE_VERSION} \
.