forked from Kitware/ParaView
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
88 lines (83 loc) · 2.74 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# This currently only supports `package` generation.
# Other standard ParaView-CI stages to follow
.docker_image: &docker_image
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/gitlab-kitware-sciviz-ci"
GIT_SUBMODULE_STRATEGY: recursive
GIT_CEILING_DIRECTORIES: "$CI_BUILDS_DIR/gitlab-kitware-sciviz-ci"
.centos7: ¢os7
image: "kitware/paraview:ci-superbuild-centos7-20200210"
variables:
LAUNCHER: "scl enable devtoolset-7 --"
extends:
- .docker_image
stages:
- package
# Job to trigger paraView-superbuild pipelines
superbuild:
stage: package
only:
- branches@paraview/paraview
- tags@paraview/paraview
except:
- nightly-master
- hooks
variables:
PARAVIEW_BRANCH: $CI_COMMIT_REF_NAME
trigger:
project: paraview/paraview-superbuild
branch: $CI_COMMIT_REF_NAME
strategy: depend
# Sack build
spack:centos7:
cache:
key: spack:centos7
paths:
- spack-cache/
extends:
- .centos7
stage: package
tags:
- build
- paraview
- docker
- linux
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_PATH == "paraview/paraview"'
when: always
- if: '$CI_MERGE_REQUEST_PROJECT_PATH == "paraview/paraview"'
when: manual
variables:
spack: "$CI_BUILDS_DIR/spack/bin/spack -C Utilities/spack/configs/gitlab-ci"
# this is needed as `configure` on certain packages fails when run as
# root
FORCE_UNSAFE_CONFIGURE: 1
paraview_spec: "paraview+osmesa^mesa~glx^mpich"
timeout: 3 hours
interruptible: true
before_script:
# [-- these must be added to the image.
- yum install -y bzip2 patch
- yum clean all
# ---]
- .gitlab/ci/sccache.sh
- .gitlab/ci/cmake.sh
- export PATH=$PWD/.gitlab:$PATH
- sccache --start-server
- sccache --show-stats
- .gitlab/ci/spack.sh
- $LAUNCHER $spack repo add $PWD/Utilities/spack/repo
- $LAUNCHER $spack compiler find
- $LAUNCHER $spack compiler info [email protected]
# setup buildcache mirror
- $LAUNCHER $spack mirror add local $PWD/spack-cache
- $LAUNCHER $spack buildcache list
script:
- $LAUNCHER $spack spec $paraview_spec
- $LAUNCHER $spack install --no-check-signature --only dependencies -j $(nproc) $paraview_spec
- export dependency_specs=`$LAUNCHER $spack find --format "{name}{@version}{%compiler}"`
- $LAUNCHER $spack buildcache create -a -f -u -d $PWD/spack-cache $dependency_specs
- $LAUNCHER $spack install --no-check-signature -j $(nproc) $paraview_spec
- eval `$spack load --sh paraview`
- pvserver --version
- .gitlab/sccache --show-stats