Require pybind 2.6 from environment for gmxapi Python package extension module.
[alexxy/gromacs.git] / admin / gitlab-ci / python-gmxapi.matrix / gmxapi-0.3-gromacs-master.gitlab-ci.yml
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
4 #   GPU: unspecified
5 #   GROMACS: newest supported
6 #   gmxapi: gmxapi 0.3
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
11 #   compiler: clang-8
12
13
14 .gmxapi-0.3:clang-8:gmx2022:
15   extends:
16     - .variables:default
17     - .use-clang:base
18   image: ${CI_REGISTRY_IMAGE}/ci-ubuntu-20.04-llvm-8-cuda-11.0
19   stage: test
20   variables:
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
29   script:
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
33   artifacts:
34     reports:
35       junit:
36         - $PY_UNIT_TEST_XML
37         - $PY_MPI_UNIT_TEST_XML
38         - $PY_ACCEPTANCE_TEST_XML
39         - $PY_MPI_ACCEPTANCE_TEST_XML
40     paths:
41       - dist/
42     when: always
43     expire_in: 1 week
44   tags:
45     - k8s-scilifelab
46   # The dependency means we need to use the same tag restriction as upstream.
47   needs:
48     - job: gromacs:clang-8:build
49       artifacts: true
50
51 gmxapi-0.3:clang-8:gmx2022:py-3.7.7:
52   extends:
53     - .gmxapi-0.3:clang-8:gmx2022
54     - .rules:merge-requests:master
55   variables:
56     VENVPATH: "/root/venv/py3.7"
57     PY_VER: "3.7.7"
58
59 gmxapi-0.3:clang-8:gmx2022:py-3.8.2:
60   extends:
61     - .gmxapi-0.3:clang-8:gmx2022
62     - .rules:merge-requests:master
63   variables:
64     VENVPATH: "/root/venv/py3.8"
65     PY_VER: "3.8.2"
66
67 gmxapi-0.3:clang-8:gmx2022:py-3.9.1:
68   extends:
69     - .gmxapi-0.3:clang-8:gmx2022
70     - .rules:merge-requests:master
71   variables:
72     VENVPATH: "/root/venv/py3.9"
73     PY_VER: "3.9.1"