Skip to content
Snippets Groups Projects
Commit 15ea6159 authored by Jö Fahlke's avatar Jö Fahlke
Browse files

[!67] [CI] Make pacxx-runtime the authoritative place for ci-main.yml

Merge branch 'runtime-is-reference-ci' into 'master'

Depends: all the previous stuff in [#30]

See merge request [joe/pacxx-docker!67]

  [#30]: gitlab.dune-project.org/joe/pacxx-docker/issues/30
  [joe/pacxx-docker!67]: gitlab.dune-project.org/joe/pacxx-docker/merge_requests/67
parents d813284e 316c6fb3
No related branches found
No related tags found
1 merge request!67[CI] Make pacxx-runtime the authoritative place for ci-main.yml
Pipeline #12804 passed
---
# This file is meant to be included from one of pacxx's .gitlab-cy.yml files.
#
# The including file should set the variable ADOPT to whereever it's
# checked-out files should end up in pacxx's source tree, see the --adopt=
# parameter in base/getpacxx.
stages:
- source
- build
- test
######################################################################
#
# PACXX Source: get the sources (also, verify ci is current)
#
check-ci-main.yml:
stage: source
image: alpine:latest
variables:
REFERENCE: https://gitlab.dune-project.org/joe/pacxx-docker/raw/master/ci-main.yml
script:
- apk add curl
- curl -f -o ci-main.yml.upstream "$REFERENCE"
- if ! diff -u ci-main.yml.upstream ci-main.yml; then
echo "Outdated ci setup, please update ci-main.yml from $REFERENCE";
exit 2;
fi
tags:
- hpc2seci
allow_failure: true
source-pacxx:
stage: source
image: registry.dune-project.org/joe/pacxx-docker:base-native.master
script:
- getpacxx ${ADOPT:+--adopt="$ADOPT"} --branch="$CI_COMMIT_REF_NAME"
--versionlog=repoversions
# Trim down to stay within ZIVGITLAB limits
- find llvm/ -name .git -prune -print0 | xargs -0 rm -rf
- mv repoversions llvm/
- cat llvm/repoversions
tags:
- hpc2seci
artifacts:
paths:
- llvm/
source-samples:
stage: source
image: registry.dune-project.org/joe/pacxx-docker:base-native.master
script:
- getpacxx ${ADOPT:+--adopt="$ADOPT"} --branch="$CI_COMMIT_REF_NAME"
--versionlog=repoversions --samples
- mv repoversions samples/repoversions
- cat samples/repoversions
tags:
- hpc2seci
artifacts:
paths:
- samples/
######################################################################
#
# Build: build pacxx using the base image
#
build-native:
image: registry.dune-project.org/joe/pacxx-docker:base-native.master
stage: build
variables:
GIT_STRATEGY: none
dependencies:
- source-pacxx
script:
- cat llvm/repoversions
- export PACXX_INSTALL=$(pwd)/install
- mkdir build
- ( cd build &&
cmake ../llvm -DBUILD_SHARED_LIBS=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON
-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="-O3"
-DCMAKE_INSTALL_PREFIX="${PACXX_INSTALL}" )
- make -C build -j$(nproc) install
- cp llvm/repoversions install/
tags:
- hpc2seci
artifacts:
paths:
- install/
build-cuda:
image: registry.dune-project.org/joe/pacxx-docker:base-cuda.master
stage: build
variables:
GIT_STRATEGY: none
dependencies:
- source-pacxx
script:
- cat llvm/repoversions
- export PACXX_INSTALL=$(pwd)/install
- mkdir build
- ( cd build &&
cmake ../llvm -DBUILD_SHARED_LIBS=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON
-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="-O3"
-DCMAKE_INSTALL_PREFIX="${PACXX_INSTALL}" )
- make -C build -j$(nproc) install
- cp llvm/repoversions install/
tags:
- hpc2seci-nvidia
artifacts:
paths:
- install/
######################################################################
#
# Test: test the just built pacxx
#
test-native-make-debug:
image: registry.dune-project.org/joe/pacxx-docker:base-native.master
stage: test
variables:
GIT_STRATEGY: none
PACXX_FORCE_DEFAULT_RT: 1
PACXX_DEFAULT_RT: 1 # native
dependencies:
- build-native
- source-samples
script:
- cat install/repoversions
- cat samples/repoversions
- export PATH=$(pwd)/install/bin:$PATH
- mkdir build
- cd build
- cmake ../samples -DCMAKE_CXX_COMPILER=pacxx++ -DCMAKE_BUILD_TYPE=Debug
- make -j$(nproc)
- ctest -j$(nproc) -LE '^native-debug-(known-failure|slow)$' --output-on-failure
- ctest -j$(nproc) -L '^native-debug-known-failure$' --output-on-failure || true
- ": The following tests were skipped because they are known to be slow"
- ctest -N -L '^native-debug-slow$'
tags:
- hpc2seci
test-native-ninja-release:
image: registry.dune-project.org/joe/pacxx-docker:base-native.master
stage: test
variables:
GIT_STRATEGY: none
PACXX_FORCE_DEFAULT_RT: 1
PACXX_DEFAULT_RT: 1 # native
dependencies:
- build-native
- source-samples
script:
- cat install/repoversions
- cat samples/repoversions
- export PATH=$(pwd)/install/bin:$PATH
- mkdir build
- cd build
- cmake ../samples -G Ninja -DCMAKE_CXX_COMPILER=pacxx++ -DCMAKE_BUILD_TYPE=Release
- ninja
- ctest -j$(nproc) -LE '^native-release-known-failure$' --output-on-failure
- ctest -j$(nproc) -L '^native-release-known-failure$' --output-on-failure || true
tags:
- hpc2seci
test-cuda-make-debug:
image: registry.dune-project.org/joe/pacxx-docker:base-cuda.master
stage: test
variables:
GIT_STRATEGY: none
PACXX_FORCE_DEFAULT_RT: 1
PACXX_DEFAULT_RT: 0 # Cuda
dependencies:
- build-cuda
- source-samples
script:
- cat install/repoversions
- cat samples/repoversions
- export PATH=$(pwd)/install/bin:$PATH
- mkdir build
- cd build
- cmake ../samples -DCMAKE_CXX_COMPILER=pacxx++ -DCMAKE_BUILD_TYPE=Debug
- make -j$(nproc)
- ctest -j$(nproc) -LE '^cuda-debug-(known-failure|slow)$' --output-on-failure
- ctest -j$(nproc) -L '^cuda-debug-known-failure$' --output-on-failure || true
- ": The following tests were skipped because they are known to be slow"
- ctest -N -L '^cuda-debug-slow$'
tags:
- hpc2seci-nvidia
test-cuda-make-release:
image: registry.dune-project.org/joe/pacxx-docker:base-cuda.master
stage: test
variables:
GIT_STRATEGY: none
PACXX_FORCE_DEFAULT_RT: 1
PACXX_DEFAULT_RT: 0 # Cuda
dependencies:
- build-cuda
- source-samples
script:
- cat install/repoversions
- cat samples/repoversions
- export PATH=$(pwd)/install/bin:$PATH
- mkdir build
- cd build
- cmake ../samples -DCMAKE_CXX_COMPILER=pacxx++ -DCMAKE_BUILD_TYPE=Release
- make -j$(nproc)
- ctest -j$(nproc) -LE '^cuda-release-known-failure$' --output-on-failure
- ctest -j$(nproc) -L '^cuda-release-known-failure$' --output-on-failure || true
tags:
- hpc2seci-nvidia
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment