1 # Test goal: Continuous integration testing for gmxapi 0.3 and client Python package.
2 # Test intents (should change rarely and conservatively):
3 # OS: Ubuntu oldest supported
5 # GROMACS: newest supported
7 # Scope: build, install, test
8 # Test implementation choices (free to change as needed):
9 # GROMACS branch: master
10 # gmxapi Python package: 0.3 alpha from GROMACS master
14 .gmxapi-0.3:clang-8:gmx2022:
18 image: ${CI_REGISTRY_IMAGE}/ci-ubuntu-20.04-llvm-8-cuda-11.0
21 KUBERNETES_CPU_LIMIT: 2
22 KUBERNETES_CPU_REQUEST: 2
23 KUBERNETES_MEMORY_LIMIT: 2Gi
24 KUBERNETES_MEMORY_REQUEST: 2Gi
25 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
26 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
27 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
28 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
30 - source $INSTALL_DIR/bin/GMXRC
31 - source $VENVPATH/bin/activate
32 - INSTALL_DIR=$PWD/$INSTALL_DIR OMP_NUM_THREADS=1 bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.3.sh
37 - $PY_MPI_UNIT_TEST_XML
38 - $PY_ACCEPTANCE_TEST_XML
39 - $PY_MPI_ACCEPTANCE_TEST_XML
46 # The dependency means we need to use the same tag restriction as upstream.
48 - job: gromacs:clang-8:build
51 gmxapi-0.3:clang-8:gmx2022:py-3.7.7:
53 - .gmxapi-0.3:clang-8:gmx2022
54 - .rules:merge-requests:master
56 VENVPATH: "/root/venv/py3.7"
59 gmxapi-0.3:clang-8:gmx2022:py-3.8.2:
61 - .gmxapi-0.3:clang-8:gmx2022
62 - .rules:merge-requests:master
64 VENVPATH: "/root/venv/py3.8"
67 gmxapi-0.3:clang-8:gmx2022:py-3.9.1:
69 - .gmxapi-0.3:clang-8:gmx2022
70 - .rules:merge-requests:master
72 VENVPATH: "/root/venv/py3.9"