2 # Jobs to test gmxapi client (Python) packages
5 # Base job definition for gmxapi 0.1 tests against GROMACS 2020 in clang-8 environments.
11 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
13 KUBERNETES_CPU_LIMIT: 2
14 KUBERNETES_CPU_REQUEST: 2
15 KUBERNETES_MEMORY_LIMIT: 2Gi
16 KUBERNETES_MEMORY_REQUEST: 2Gi
17 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
18 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
19 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
20 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
21 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"
23 - source $INSTALL_DIR/bin/GMXRC
24 - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR OMP_NUM_THREADS=1 bash admin/ci-scripts/build-and-test-py-gmxapi-0.1.sh
25 # Note that the XML output is concatenated when multiple reports are produced
26 # by a single job. If this presents problems, we may have to split the tests
27 # into multiple jobs. In particular, test names will appear once for MPI and
28 # once for non-MPI runs, which may confuse the test result parser.
33 - $PY_MPI_UNIT_TEST_XML
34 - $PY_ACCEPTANCE_TEST_XML
35 - $PY_MPI_ACCEPTANCE_TEST_XML
40 # The dependency means we need to use the same tag restriction as upstream.
42 - job: gromacs:clang-8:build
45 gmxapi-0.1:clang-8:py-3.5.9:
48 - .rules:merge-requests:release-2020
50 VENVPATH: "/root/venv/py3.5"
53 gmxapi-0.1:clang-8:py-3.6.10:
56 - .rules:merge-requests:release-2020
58 VENVPATH: "/root/venv/py3.6"
61 gmxapi-0.1:clang-8:py-3.7.7:
64 - .rules:merge-requests:release-2020
66 VENVPATH: "/root/venv/py3.7"
69 gmxapi-0.1:clang-8:py-3.8.2:
72 - .rules:merge-requests:release-2020
74 VENVPATH: "/root/venv/py3.8"
77 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
78 .gmxapi-0.2:clang-8:gmx2021:
82 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
85 KUBERNETES_CPU_LIMIT: 2
86 KUBERNETES_CPU_REQUEST: 2
87 KUBERNETES_MEMORY_LIMIT: 2Gi
88 KUBERNETES_MEMORY_REQUEST: 2Gi
89 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
90 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
91 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
92 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
94 - source $INSTALL_DIR/bin/GMXRC
95 - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR OMP_NUM_THREADS=1 bash admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
100 - $PY_MPI_UNIT_TEST_XML
101 - $PY_ACCEPTANCE_TEST_XML
102 - $PY_MPI_ACCEPTANCE_TEST_XML
107 # The dependency means we need to use the same tag restriction as upstream.
109 - job: gromacs:clang-8:build
112 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
114 - .gmxapi-0.2:clang-8:gmx2021
115 - .rules:merge-requests:master
117 VENVPATH: "/root/venv/py3.6"
120 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
122 - .gmxapi-0.2:clang-8:gmx2021
123 - .rules:merge-requests:master
125 VENVPATH: "/root/venv/py3.7"
128 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
130 - .gmxapi-0.2:clang-8:gmx2021
131 - .rules:merge-requests:master
133 VENVPATH: "/root/venv/py3.8"