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