4f1dcdbef77754c3f1907fdf10602a055020365b
[alexxy/gromacs.git] / admin / gitlab-ci / sample_restraint-regression.gitlab-ci.yml
1 # Test for API regression or unexpected breakage.
2
3 # Base job definition for sample_restraint tests against GROMACS 2020.
4 .sample_restraint:clang-8:gmx2020:
5   extends:
6     - .variables:default
7     - .use-clang8
8   stage: test
9   variables:
10     PLUGIN_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
11     PLUGIN_MPI_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
12     EXTRA_INSTALLS: "curl libbz2-dev libffi-dev liblzma-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev llvm python-openssl tk-dev zlib1g-dev"
13   script:
14     - source $INSTALL_DIR/bin/GMXRC
15     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-sample_restraint-2020.sh
16   artifacts:
17     reports:
18       junit:
19         - $PLUGIN_TEST_XML
20         - $PLUGIN_MPI_TEST_XML
21     when: always
22     expire_in: 1 week
23   needs:
24     - project: gromacs/gromacs
25       job: gromacs:clang-8:build
26       ref: release-2020
27       artifacts: true
28
29 sample_restraint:clang-8:gmx2020:3.5.9:
30   extends:
31     - .sample_restraint:clang-8:gmx2020
32   # Run only for changes affecting the python_packaging subdirectory of the release-2020 branch.
33   rules:
34     # Allow explicit trigger through web interface.
35     - if: '$GMX_GMXAPI_0_2'
36       when: always
37     - if: '$GROMACS_RELEASE'
38       when: never
39     # Run this job only for release-2020 branch and merge-requests targeting it.
40     - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "release-2020" && $CI_COMMIT_BRANCH != "release-2020"'
41       when: never
42     # GROMACS 2020 API is final, so only test on schedules or when merge requests update the python_packaging sources.
43     - changes:
44         - python_packaging
45       when: always
46   variables:
47     VENVPATH: "/root/venv/py3.5"
48     PY_VER: "3.5.9"
49
50 sample_restraint:clang-8:gmx2020:py-3.6.10:
51   extends:
52     - .sample_restraint:clang-8:gmx2020
53   # Run only for changes affecting the python_packaging subdirectory of the release-2020 branch.
54   rules:
55     # Allow explicit trigger through web interface.
56     - if: '$GMX_GMXAPI_0_2'
57       when: always
58     - if: '$GROMACS_RELEASE'
59       when: never
60     # Run this job only for release-2020 branch and merge-requests targeting it.
61     - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "release-2020" && $CI_COMMIT_BRANCH != "release-2020"'
62       when: never
63     # GROMACS 2020 API is final, so only test on schedules or when merge requests update the python_packaging sources.
64     - changes:
65         - python_packaging
66       when: always
67   variables:
68     VENVPATH: "/root/venv/py3.6"
69     PY_VER: "3.6.10"
70
71 sample_restraint:clang-8:gmx2020:py-3.7.7:
72   extends:
73     - .sample_restraint:clang-8:gmx2020
74   # Run only for changes affecting the python_packaging subdirectory of the release-2020 branch.
75   rules:
76     # Allow explicit trigger through web interface.
77     - if: '$GMX_GMXAPI_0_2'
78       when: always
79     - if: '$GROMACS_RELEASE'
80       when: never
81     # Run this job only for release-2020 branch and merge-requests targeting it.
82     - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "release-2020" && $CI_COMMIT_BRANCH != "release-2020"'
83       when: never
84     # GROMACS 2020 API is final, so only test on schedules or when merge requests update the python_packaging sources.
85     - changes:
86         - python_packaging
87       when: always
88   variables:
89     VENVPATH: "/root/venv/py3.7"
90     PY_VER: "3.7.7"
91
92 sample_restraint:clang-8:gmx2020:py-3.8.2:
93   extends:
94     - .sample_restraint:clang-8:gmx2020
95   # Run only for changes affecting the python_packaging subdirectory of the release-2020 branch.
96   rules:
97     # Allow explicit trigger through web interface.
98     - if: '$GMX_GMXAPI_0_2'
99       when: always
100     - if: '$GROMACS_RELEASE'
101       when: never
102     # Run this job only for release-2020 branch and merge-requests targeting it.
103     - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "release-2020" && $CI_COMMIT_BRANCH != "release-2020"'
104       when: never
105     # GROMACS 2020 API is final, so only test on schedules or when merge requests update the python_packaging sources.
106     - changes:
107       - python_packaging
108       when: always
109   variables:
110     VENVPATH: "/root/venv/py3.8"
111     PY_VER: "3.8.2"