xref: /petsc/.gitlab-ci.yml (revision 636284c142baca0ee9d23c2254324aacd40220c4)
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    - python3 ./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:
23  extends: .test
24  variables:
25    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-fc=0
26    TEST_SEARCH: snes_tutorials-ex48%
27
28uni-complex-float-int64:
29  extends: .test
30  variables:
31    CONFIG_OPTS: <
32      --with-mpi=0
33      --with-scalar-type=complex --with-precision=single --with-64-bit-indices
34    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
35
36.mcs_test:
37  stage: test-long
38  script:
39    - git config user.email "petsc@gitlab.none"
40    - git config user.name "petsc gitlab-ci"
41    - git fetch origin master
42    - git merge -m "test" FETCH_HEAD
43    - ./config/examples/${TEST_ARCH}.py
44    - make
45    - make check
46    - make cleantest allgtests-tap TIMEOUT=300
47
48.linux_mcs_test:
49  extends: .mcs_test
50  tags:
51    - mcs
52    - linux
53  before_script:
54    - hostname
55    - grep PRETTY_NAME /etc/os-release
56    - echo $(nproc)
57
58.freebsd_mcs_test:
59  extends: .mcs_test
60  tags:
61    - mcs
62    - freebsd
63  before_script:
64    - hostname
65    - freebsd-version
66    - echo $(sysctl -n hw.ncpu)
67
68.osx_mcs_test:
69  extends: .mcs_test
70  tags:
71    - mcs
72    - osx
73  before_script:
74    - hostname
75    - sw_vers -productVersion
76    - echo $(sysctl -n hw.ncpu)
77
78.opensolaris_mcs_test:
79  extends: .mcs_test
80  tags:
81    - mcs
82    - opensolaris
83  before_script:
84    - hostname
85    - uname -a
86    - echo $(nproc)
87
88linux-gcc-complex-opt:
89  extends: .linux_mcs_test
90  variables:
91    TEST_ARCH: arch-jenkins-linux-gcc-complex-opt
92
93linux-gcc-pkgs-opt:
94  extends: .linux_mcs_test
95  variables:
96    TEST_ARCH: arch-jenkins-linux-gcc-pkgs-opt
97
98linux-gcc-quad-64idx-dbg:
99  extends: .linux_mcs_test
100  variables:
101    TEST_ARCH: arch-jenkins-linux-gcc-quad-64idx-dbg
102
103freebsd-c-single-opt:
104  extends: .freebsd_mcs_test
105  variables:
106    TEST_ARCH: arch-jenkins-freebsd-c-single-opt
107
108freebsd-cxx-cmplx-64idx-dbg:
109  extends: .freebsd_mcs_test
110  variables:
111    TEST_ARCH: arch-jenkins-freebsd-cxx-cmplx-64idx-dbg
112
113osx-cxx-pkgs-opt:
114  extends: .osx_mcs_test
115  variables:
116    TEST_ARCH: arch-jenkins-osx-cxx-pkgs-opt
117
118opensolaris-cmplx-pkgs-dbg:
119  extends: .opensolaris_mcs_test
120  variables:
121    TEST_ARCH: arch-jenkins-opensolaris-cmplx-pkgs-dbg
122
123.status:
124  stage: ci-status
125  image: jedbrown/alpine-curl
126  script:
127    - BUILD_KEY=push BITBUCKET_NAMESPACE=petsc ./.gitlab-build-status.sh
128
129success:
130  extends: .status
131  variables:
132    BUILD_STATUS: passed
133  when: on_success
134
135failure:
136  extends: .status
137  variables:
138    BUILD_STATUS: failed
139  when: on_failure
140