diff options
author | 2019-01-26 06:38:44 +0100 | |
---|---|---|
committer | 2019-04-19 15:30:41 +0200 | |
commit | 6afb441957713357f74d9495414b8375f193589b (patch) | |
tree | df8697c39178f9f76316fff36814cc1ac1dd4f4a | |
parent | 3138d45219ebf21f9ebde374cea803d3b0ef3f32 (diff) | |
download | paludis-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
9 files changed, 141 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abcfa28b2..460169cd6 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 000000000..abe755ea4 --- /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 000000000..aebe83cf5 --- /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 000000000..123f628b2 --- /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 000000000..4a00e6127 --- /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 000000000..fc2e8ee63 --- /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 000000000..b7e3fbeaf --- /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 000000000..c3868b000 --- /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 c7fca8310..61cac1aa7 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 |