Refine usage of *job:tags* parameter.
[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     PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
14     PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
15     PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
16     PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
17     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"
18   script:
19     - source $INSTALL_DIR/bin/GMXRC
20     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.1.sh
21   artifacts:
22     reports:
23       junit:
24         - $PY_UNIT_TEST_XML
25         - $PY_MPI_UNIT_TEST_XML
26         - $PY_ACCEPTANCE_TEST_XML
27         - $PY_MPI_ACCEPTANCE_TEST_XML
28     when: always
29     expire_in: 1 week
30   tags:
31     - k8s-scilifelab
32   # The dependency means we need to use the same tag restriction as upstream.
33   needs:
34     - job: gromacs:clang-8:build
35       artifacts: true
36
37 gmxapi-0.1:clang-8:py-3.6.10:
38   extends:
39     - .gmxapi-0.1:clang-8
40     - .rules:merge-requests
41   variables:
42     VENVPATH: "/root/venv/py3.6"
43     PY_VER: "3.6.10"
44
45 gmxapi-0.1:clang-8:py-3.7.7:
46   extends:
47     - .gmxapi-0.1:clang-8
48     - .rules:merge-requests
49   variables:
50     VENVPATH: "/root/venv/py3.7"
51     PY_VER: "3.7.7"
52
53 gmxapi-0.1:clang-8:py-3.8.2:
54   extends:
55     - .gmxapi-0.1:clang-8
56     - .rules:merge-requests
57   variables:
58     VENVPATH: "/root/venv/py3.8"
59     PY_VER: "3.8.2"
60
61 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
62 .gmxapi-0.2:clang-8:gmx2021:
63   extends:
64     - .variables:default
65     - .use-clang:base
66   image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
67   stage: test
68   variables:
69     PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
70     PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
71     PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
72     PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
73   script:
74     - source $INSTALL_DIR/bin/GMXRC
75     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
76   artifacts:
77     reports:
78       junit:
79         - $PY_UNIT_TEST_XML
80         - $PY_MPI_UNIT_TEST_XML
81         - $PY_ACCEPTANCE_TEST_XML
82         - $PY_MPI_ACCEPTANCE_TEST_XML
83     when: always
84     expire_in: 1 week
85   tags:
86     - k8s-scilifelab
87   # The dependency means we need to use the same tag restriction as upstream.
88   needs:
89     - job: gromacs:clang-8:build
90       artifacts: true
91
92 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
93   extends:
94     - .gmxapi-0.2:clang-8:gmx2021
95     - .rules:merge-requests
96   variables:
97     VENVPATH: "/root/venv/py3.6"
98     PY_VER: "3.6.10"
99
100 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
101   extends:
102     - .gmxapi-0.2:clang-8:gmx2021
103     - .rules:merge-requests
104   variables:
105     VENVPATH: "/root/venv/py3.7"
106     PY_VER: "3.7.7"
107
108 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
109   extends:
110     - .gmxapi-0.2:clang-8:gmx2021
111     - .rules:merge-requests
112   variables:
113     VENVPATH: "/root/venv/py3.8"
114     PY_VER: "3.8.2"