477dff8ae8f47930bd5857d6191204d888831066
[alexxy/gromacs.git] / admin / gitlab-ci / python-gmxapi.gitlab-ci.yml
1 #
2 # Jobs to test gmxapi client (Python) packages
3 #
4
5 # Base job definition for gmxapi 0.1 tests against GROMACS 2020 in clang-8 environments.
6 .gmxapi-0.1:clang-8:
7   extends:
8     - .variables:default
9     - .use-clang:base
10   stage: test
11   image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
12   variables:
13     KUBERNETES_CPU_LIMIT: 2
14     KUBERNETES_CPU_REQUEST: 2
15     KUBERNETES_MEMORY_LIMIT: 2Gi
16     PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
17     PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
18     PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
19     PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
20     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"
21   script:
22     - source $INSTALL_DIR/bin/GMXRC
23     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash admin/ci-scripts/build-and-test-py-gmxapi-0.1.sh
24   artifacts:
25     reports:
26       junit:
27         - $PY_UNIT_TEST_XML
28         - $PY_MPI_UNIT_TEST_XML
29         - $PY_ACCEPTANCE_TEST_XML
30         - $PY_MPI_ACCEPTANCE_TEST_XML
31     when: always
32     expire_in: 1 week
33   needs:
34     - job: gromacs:clang-8:build
35       artifacts: true
36
37 gmxapi-0.1:clang-8:py-3.5.9:
38   extends:
39     - .gmxapi-0.1:clang-8
40     - .rules:merge-requests:release-2020
41   variables:
42     VENVPATH: "/root/venv/py3.5"
43     PY_VER: "3.5.9"
44
45 gmxapi-0.1:clang-8:py-3.6.10:
46   extends:
47     - .gmxapi-0.1:clang-8
48     - .rules:merge-requests:release-2020
49   variables:
50     VENVPATH: "/root/venv/py3.6"
51     PY_VER: "3.6.10"
52
53 gmxapi-0.1:clang-8:py-3.7.7:
54   extends:
55     - .gmxapi-0.1:clang-8
56     - .rules:merge-requests:release-2020
57   variables:
58     VENVPATH: "/root/venv/py3.7"
59     PY_VER: "3.7.7"
60
61 gmxapi-0.1:clang-8:py-3.8.2:
62   extends:
63     - .gmxapi-0.1:clang-8
64     - .rules:merge-requests:release-2020
65   variables:
66     VENVPATH: "/root/venv/py3.8"
67     PY_VER: "3.8.2"
68
69 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
70 .gmxapi-0.2:clang-8:gmx2021:
71   extends:
72     - .variables:default
73     - .use-clang:base
74   image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
75   stage: test
76   variables:
77     PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
78     PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
79     PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
80     PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
81   script:
82     - source $INSTALL_DIR/bin/GMXRC
83     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
84   artifacts:
85     reports:
86       junit:
87         - $PY_UNIT_TEST_XML
88         - $PY_MPI_UNIT_TEST_XML
89         - $PY_ACCEPTANCE_TEST_XML
90         - $PY_MPI_ACCEPTANCE_TEST_XML
91     when: always
92     expire_in: 1 week
93   needs:
94     - job: gromacs:clang-8:build
95       artifacts: true
96
97 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
98   extends:
99     - .gmxapi-0.2:clang-8:gmx2021
100     - .rules:merge-requests:master
101   variables:
102     VENVPATH: "/root/venv/py3.6"
103     PY_VER: "3.6.10"
104
105 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
106   extends:
107     - .gmxapi-0.2:clang-8:gmx2021
108     - .rules:merge-requests:master
109   variables:
110     VENVPATH: "/root/venv/py3.7"
111     PY_VER: "3.7.7"
112
113 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
114   extends:
115     - .gmxapi-0.2:clang-8:gmx2021
116     - .rules:merge-requests:master
117   variables:
118     VENVPATH: "/root/venv/py3.8"
119     PY_VER: "3.8.2"