xref: /petsc/.gitlab-ci.yml (revision 525f0e14633233f72381dc0bfb3340434a2c3bfb)
1stages:
2  - test
3  - test-long
4variables:
5  GIT_STRATEGY: fetch
6  GIT_DEPTH: 1
7  GIT_CLEAN_FLAGS: -ffdxq
8  PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
9
10.test:
11  stage: test
12  image: jedbrown/mpich-ccache
13  before_script:
14    - echo nproc=$(nproc)
15    - cat /proc/cpuinfo
16    - ccache --zero-stats
17    - export CCACHE_COMPILERCHECK=content
18  script:
19    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
20    - make -j$(nproc) -l$(nproc) CFLAGS=-Werror
21    - make -j$(nproc) -l$(nproc) -f gmakefile.test PETSC_DIR=$PWD test search="${TEST_SEARCH}"
22  after_script:
23    - ccache --show-stats
24  artifacts:
25    reports:
26      junit: arch-*/tests/testresults.xml
27  cache:
28    paths:
29      - "${CCACHE_DIR}"
30    key: "${CI_JOB_NAME}"
31
32mpich-cxx-py3:
33  extends: .test
34  variables:
35    PYTHON: python3
36    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
37    TEST_SEARCH: snes_tutorials-ex48%
38
39uni-complex-float-int64:
40  extends: .test
41  variables:
42    PYTHON: python3
43    CONFIG_OPTS: <
44      --with-mpi=0
45      --with-scalar-type=complex --with-precision=single --with-64-bit-indices
46    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
47
48c89-mlib-static-py2:
49  extends: .test
50  image: jedbrown/mpich-ccache:python2
51  variables:
52    PYTHON: python2
53    CONFIG_OPTS: <
54      --with-mpi-dir=/usr/local
55      --with-single-library=0 --with-shared-libraries=0 'CFLAGS=-std=c89 -pedantic -Wno-long-long -Wno-overlength-strings'
56    TEST_SEARCH: snes_tutorials-ex48%
57
58
59.mcs_test:
60  stage: test-long
61  script:
62    - ./config/examples/${TEST_ARCH}.py
63    - make
64    - make check
65    - make cleantest allgtests-tap TIMEOUT=300
66  artifacts:
67    reports:
68      junit: ${TEST_ARCH}/tests/testresults.xml
69
70.linux_mcs_test:
71  extends: .mcs_test
72  tags:
73    - mcs-linux
74  before_script:
75    - hostname
76    - grep PRETTY_NAME /etc/os-release
77    - echo $(nproc)
78    - ccache --zero-stats
79  after_script:
80    - ccache --show-stats
81
82.freebsd_mcs_test:
83  extends: .mcs_test
84  tags:
85    - mcs-freebsd
86  before_script:
87    - hostname
88    - freebsd-version
89    - echo $(sysctl -n hw.ncpu)
90    - ccache --zero-stats
91  after_script:
92    - ccache --show-stats
93
94.osx_mcs_test:
95  extends: .mcs_test
96  tags:
97    - mcs-osx
98  variables:
99    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent -vecscatter_mpi1 false -options_left false
100  before_script:
101    - hostname
102    - sw_vers -productVersion
103    - echo $(sysctl -n hw.ncpu)
104    - ccache --zero-stats
105  after_script:
106    - ccache --show-stats
107
108.opensolaris_mcs_test:
109  extends: .mcs_test
110  tags:
111    - mcs-opensolaris
112  before_script:
113    - hostname
114    - uname -a
115    - echo $(nproc)
116
117linux-gcc-complex-opt:
118  extends: .linux_mcs_test
119  variables:
120    TEST_ARCH: arch-ci-linux-gcc-complex-opt
121
122linux-gcc-pkgs-opt:
123  extends: .linux_mcs_test
124  variables:
125    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
126
127linux-gcc-quad-64idx-dbg:
128  extends: .linux_mcs_test
129  variables:
130    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
131
132freebsd-c-single-opt:
133  extends: .freebsd_mcs_test
134  variables:
135    TEST_ARCH: arch-ci-freebsd-c-single-opt
136
137freebsd-cxx-cmplx-64idx-dbg:
138  extends: .freebsd_mcs_test
139  variables:
140    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
141
142osx-cxx-pkgs-opt:
143  extends: .osx_mcs_test
144  variables:
145    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
146
147opensolaris-cmplx-pkgs-dbg:
148  extends: .opensolaris_mcs_test
149  variables:
150    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
151