aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Marvin Schmidt <marv@exherbo.org> 2019-01-26 06:38:44 +0100
committerAvatar Marvin Schmidt <marv@exherbo.org> 2019-04-19 15:30:41 +0200
commit6afb441957713357f74d9495414b8375f193589b (patch)
treedf8697c39178f9f76316fff36814cc1ac1dd4f4a
parent3138d45219ebf21f9ebde374cea803d3b0ef3f32 (diff)
downloadpaludis-6afb441957713357f74d9495414b8375f193589b.tar.gz
paludis-6afb441957713357f74d9495414b8375f193589b.tar.xz
ci: Add clang based build for Exherbo
Allow the tests to fail for now, since all tests involving python fail for some reason when using Clang. I'll hunt this down, but like to have a CI job for this in place before
-rw-r--r--.gitlab-ci.yml17
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/Dockerfile33
-rwxr-xr-xci/docker/exherbo/paludis-exherbo-clang/build.sh9
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf1
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf48
-rw-r--r--ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf30
-rwxr-xr-xci/docker/update-images.sh1
9 files changed, 141 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index abcfa28..460169c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,6 +38,23 @@ test:exherbo:
- build:exherbo
<<: *test-template
+build:exherbo-clang:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "clang"
+ VERSION: "latest"
+ <<: *build-template
+
+test:exherbo-clang:
+ variables:
+ DISTRIBUTION: "exherbo"
+ COMPILER: "clang"
+ VERSION: "latest"
+ dependencies:
+ - build:exherbo-clang
+ allow_failure: true
+ <<: *test-template
+
build:gentoo:
variables:
DISTRIBUTION: "gentoo"
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile b/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile
new file mode 100644
index 0000000..abe755e
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/Dockerfile
@@ -0,0 +1,33 @@
+FROM marvins/exherbo-clang:latest
+MAINTAINER Marvin Schmidt <marv@exherbo.org>
+
+# Switch to option.conf.d layout
+RUN mkdir /etc/paludis/options.conf.d \
+ && mv /etc/paludis/options.conf /etc/paludis/options.conf.d/10_clang.conf
+
+COPY ./config/options/* /etc/paludis/options.conf.d/
+COPY ./config/sets/paludis-deps.conf /etc/paludis/sets/
+
+RUN chgrp tty /dev/tty \
+ && eclectic env update \
+ && source /etc/profile \
+ && cave resolve -1z repository/{media,pyro,scientific} -x \
+ && cave resolve -1z -Ks -ks -x \
+ -o dev-python/sphinxcontrib-websupport \
+ --recommendations ignore \
+ --suggestions ignore \
+ paludis-deps
+RUN eclectic c++ set clang \
+ && eclectic cc set clang \
+ && eclectic cpp set clang \
+ && eclectic python3 set 3.6
+
+# Clean up
+RUN rm -fr \
+ /var/log/paludis/* \
+ /var/cache/paludis/distfiles/* \
+ /var/tmp/paludis/build/*
+
+# Add non-privileged user
+RUN useradd -M builder
+USER builder
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/build.sh b/ci/docker/exherbo/paludis-exherbo-clang/build.sh
new file mode 100755
index 0000000..aebe83c
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/build.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# vim: set sw=4 sts=4 ts=4 et tw=80 :
+
+docker build \
+ --no-cache \
+ --pull \
+ --rm \
+ --tag paludis/exherbo-clang \
+ .
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf
new file mode 100644
index 0000000..123f628
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/00_build_options.conf
@@ -0,0 +1 @@
+*/* BUILD_OPTIONS: jobs=2
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf
new file mode 100644
index 0000000..4a00e61
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_i686-pc-linux-gnu.conf
@@ -0,0 +1 @@
+*/* TARGETS: i686-pc-linux-gnu
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf
new file mode 100644
index 0000000..fc2e8ee
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/01_target_x86_64-pc-linux-gnu.conf
@@ -0,0 +1 @@
+*/* TARGETS: x86_64-pc-linux-gnu
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf
new file mode 100644
index 0000000..b7e3fbe
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/options/10_paludis.conf
@@ -0,0 +1,48 @@
+*/* BUILD_OPTIONS: -recommended_tests
+
+dev-lang/python sqlite
+
+dev-libs/boost python PYTHON_ABIS: 2.7
+
+dev-python/Babel PYTHON_ABIS: 2.7
+dev-python/Cython PYTHON_ABIS: 2.7
+dev-python/Jinja2 PYTHON_ABIS: 2.7
+dev-python/MarkupSafe PYTHON_ABIS: 2.7
+dev-python/Pygments PYTHON_ABIS: 2.7
+dev-python/Sphinx PYTHON_ABIS: 2.7
+dev-python/alabaster PYTHON_ABIS: 2.7
+dev-python/asn1crypto PYTHON_ABIS: 2.7
+dev-python/atomicwrites PYTHON_ABIS: 2.7
+dev-python/attrs PYTHON_ABIS: 2.7
+dev-python/cffi PYTHON_ABIS: 2.7
+dev-python/chardet PYTHON_ABIS: 2.7
+dev-python/coverage PYTHON_ABIS: 2.7
+dev-python/cryptography PYTHON_ABIS: 2.7
+dev-python/docutils PYTHON_ABIS: 2.7
+dev-python/enum34 PYTHON_ABIS: 2.7
+dev-python/funcsigs PYTHON_ABIS: 2.7
+dev-python/hypothesis PYTHON_ABIS: 2.7
+dev-python/idna PYTHON_ABIS: 2.7
+dev-python/imagesize PYTHON_ABIS: 2.7
+dev-python/ipaddress PYTHON_ABIS: 2.7
+dev-python/more-itertools PYTHON_ABIS: 2.7
+dev-python/numpy PYTHON_ABIS: 2.7
+dev-python/packaging PYTHON_ABIS: 2.7
+dev-python/pathlib2 PYTHON_ABIS: 2.7
+dev-python/pluggy PYTHON_ABIS: 2.7
+dev-python/py PYTHON_ABIS: 2.7
+dev-python/pycparser PYTHON_ABIS: 2.7
+dev-python/pyopenssl PYTHON_ABIS: 2.7
+dev-python/pyparsing PYTHON_ABIS: 2.7
+dev-python/pytest PYTHON_ABIS: 2.7
+dev-python/pytest-runner PYTHON_ABIS: 2.7
+dev-python/pytz PYTHON_ABIS: 2.7
+dev-python/requests PYTHON_ABIS: 2.7
+dev-python/scandir PYTHON_ABIS: 2.7
+dev-python/setuptools_scm PYTHON_ABIS: 2.7
+dev-python/six PYTHON_ABIS: 2.7
+dev-python/snowballstemmer PYTHON_ABIS: 2.7
+dev-python/sphinxcontrib-websupport PYTHON_ABIS: 2.7
+dev-python/typing PYTHON_ABIS: 2.7
+dev-python/urllib3 PYTHON_ABIS: 2.7
+dev-python/zopeinterface PYTHON_ABIS: 2.7
diff --git a/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf b/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf
new file mode 100644
index 0000000..c3868b0
--- /dev/null
+++ b/ci/docker/exherbo/paludis-exherbo-clang/config/sets/paludis-deps.conf
@@ -0,0 +1,30 @@
+# System
+* app-shells/bash
+
+# Documentation
+* app-doc/asciidoc
+* app-doc/doxygen
+* app-text/tidy
+* app-text/xmlto
+* dev-python/Sphinx
+* dev-ruby/syntax
+
+# Tests
+* dev-cpp/gtest
+
+# Bindings
+* dev-libs/boost
+* dev-lang/python:2.7
+* dev-lang/ruby:2.5
+
+# Search index
+* dev-db/sqlite:3
+
+# XML things
+* dev-libs/libxml2:2.0
+
+# Pbins
+* app-arch/libarchive
+
+# gemcutter
+* dev-libs/jansson
diff --git a/ci/docker/update-images.sh b/ci/docker/update-images.sh
index c7fca83..61cac1a 100755
--- a/ci/docker/update-images.sh
+++ b/ci/docker/update-images.sh
@@ -2,6 +2,7 @@
# vim: set sw=4 sts=4 ts=4 et tw=80 :
docker build -t paludis/exherbo-gcc exherbo/paludis-exherbo-gcc
+docker build -t paludis/exherbo-clang exherbo/paludis-exherbo-clang
docker build -t paludis/gentoo-gcc gentoo/paludis-gentoo-gcc