xref: /petsc/.gitlab-ci.yml (revision 1c6b2e5dc1f80c11d33654bae50551825af3c5e7)
1stages:
2  - test
3  - test-long
4  - ci-status
5variables:
6  GIT_STRATEGY: fetch
7  GIT_CLEAN_FLAGS: -ffdxq
8
9.test:
10  stage: test
11  image: jedbrown/mpich
12  variables:
13    GIT_DEPTH: 1
14  before_script:
15    - echo nproc=$(nproc)
16    - cat /proc/cpuinfo
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)
20    - make -j$(nproc) -l$(nproc) -f gmakefile test search="${TEST_SEARCH}"
21
22mpich-cxx-py3:
23  extends: .test
24  variables:
25    PYTHON: python3
26    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
27    TEST_SEARCH: snes_tutorials-ex48%
28
29uni-complex-float-int64:
30  extends: .test
31  variables:
32    PYTHON: python3
33    CONFIG_OPTS: <
34      --with-mpi=0
35      --with-scalar-type=complex --with-precision=single --with-64-bit-indices
36    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
37
38c89-mlib-static-py2:
39  extends: .test
40  variables:
41    PYTHON: python3
42    CONFIG_OPTS: <
43      --with-mpi-dir=/usr/local
44      --with-single-library=0 --with-shared-libraries=0 'CFLAGS=-std=c89 -pedantic -Wno-long-long -Wno-overlength-strings'
45    TEST_SEARCH: snes_tutorials-ex48%
46
47
48.mcs_test:
49  stage: test-long
50  script:
51    - git config user.email "petsc@gitlab.none"
52    - git config user.name "petsc gitlab-ci"
53    - git fetch origin master
54    - git merge -m "test" FETCH_HEAD
55    - ./config/examples/${TEST_ARCH}.py
56    - make
57    - make check
58    - make cleantest allgtests-tap TIMEOUT=300
59
60.linux_mcs_test:
61  extends: .mcs_test
62  tags:
63    - mcs
64    - linux
65  before_script:
66    - hostname
67    - grep PRETTY_NAME /etc/os-release
68    - echo $(nproc)
69
70.freebsd_mcs_test:
71  extends: .mcs_test
72  tags:
73    - mcs
74    - freebsd
75  before_script:
76    - hostname
77    - freebsd-version
78    - echo $(sysctl -n hw.ncpu)
79
80.osx_mcs_test:
81  extends: .mcs_test
82  tags:
83    - mcs
84    - osx
85  before_script:
86    - hostname
87    - sw_vers -productVersion
88    - echo $(sysctl -n hw.ncpu)
89
90.opensolaris_mcs_test:
91  extends: .mcs_test
92  tags:
93    - mcs
94    - opensolaris
95  before_script:
96    - hostname
97    - uname -a
98    - echo $(nproc)
99
100linux-gcc-complex-opt:
101  extends: .linux_mcs_test
102  variables:
103    TEST_ARCH: arch-jenkins-linux-gcc-complex-opt
104
105linux-gcc-pkgs-opt:
106  extends: .linux_mcs_test
107  variables:
108    TEST_ARCH: arch-jenkins-linux-gcc-pkgs-opt
109
110linux-gcc-quad-64idx-dbg:
111  extends: .linux_mcs_test
112  variables:
113    TEST_ARCH: arch-jenkins-linux-gcc-quad-64idx-dbg
114
115freebsd-c-single-opt:
116  extends: .freebsd_mcs_test
117  variables:
118    TEST_ARCH: arch-jenkins-freebsd-c-single-opt
119
120freebsd-cxx-cmplx-64idx-dbg:
121  extends: .freebsd_mcs_test
122  variables:
123    TEST_ARCH: arch-jenkins-freebsd-cxx-cmplx-64idx-dbg
124
125osx-cxx-pkgs-opt:
126  extends: .osx_mcs_test
127  variables:
128    TEST_ARCH: arch-jenkins-osx-cxx-pkgs-opt
129
130opensolaris-cmplx-pkgs-dbg:
131  extends: .opensolaris_mcs_test
132  variables:
133    TEST_ARCH: arch-jenkins-opensolaris-cmplx-pkgs-dbg
134
135.status:
136  stage: ci-status
137  image: jedbrown/alpine-curl
138  script:
139    - BUILD_KEY=push BITBUCKET_NAMESPACE=petsc ./.gitlab-build-status.sh
140
141success:
142  extends: .status
143  variables:
144    BUILD_STATUS: passed
145  when: on_success
146
147failure:
148  extends: .status
149  variables:
150    BUILD_STATUS: failed
151  when: on_failure
152