stages: - build - test - clang-tidy .build-template: &build-template stage: build image: paludis/${DISTRIBUTION}-${COMPILER}:${VERSION} script: - mkdir -pv build-obj && cd build-obj - PYTHON_VERSION=${PYTHON_VERSION} ../ci/configure-paludis.sh .. ${DISTRIBUTION} ${COMPILER} - ninja -j$(nproc) all artifacts: paths: - build-obj/ .test-template: &test-template stage: test image: paludis/${DISTRIBUTION}-${COMPILER}:${VERSION} script: - cd build-obj - ctest -V build:exherbo: variables: DISTRIBUTION: "exherbo" COMPILER: "gcc" VERSION: "latest" PYTHON_VERSION: "3.7" <<: *build-template test:exherbo: variables: DISTRIBUTION: "exherbo" COMPILER: "gcc" VERSION: "latest" dependencies: - build:exherbo <<: *test-template build:exherbo-testing: variables: DISTRIBUTION: "exherbo" COMPILER: "gcc" VERSION: "next" PYTHON_VERSION: "3.8" 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" COMPILER: "clang" VERSION: "latest" PYTHON_VERSION: "3.7" <<: *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" COMPILER: "gcc" VERSION: "latest" PYTHON_VERSION: "3.6" <<: *build-template test:gentoo: variables: DISTRIBUTION: "gentoo" COMPILER: "gcc" VERSION: "latest" dependencies: - build:gentoo <<: *test-template clang-tidy: stage: clang-tidy dependencies: - build:exherbo-clang image: paludis/exherbo-clang script: - export PATH="${PATH}:$(llvm-config --prefix)/share/clang" - run-clang-tidy.py -j$(nproc) -p build-obj/ -header-filter="${PWD}/.*"