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