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