Copy of CI from master to 2020
[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   needs:
31     - job: gromacs:clang-8:build
32       artifacts: true
33
34 gmxapi-0.1:clang-8:py-3.6.10:
35   extends:
36     - .gmxapi-0.1:clang-8
37     - .rules:merge-requests
38   variables:
39     VENVPATH: "/root/venv/py3.6"
40     PY_VER: "3.6.10"
41
42 gmxapi-0.1:clang-8:py-3.7.7:
43   extends:
44     - .gmxapi-0.1:clang-8
45     - .rules:merge-requests
46   variables:
47     VENVPATH: "/root/venv/py3.7"
48     PY_VER: "3.7.7"
49
50 gmxapi-0.1:clang-8:py-3.8.2:
51   extends:
52     - .gmxapi-0.1:clang-8
53     - .rules:merge-requests
54   variables:
55     VENVPATH: "/root/venv/py3.8"
56     PY_VER: "3.8.2"
57
58 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
59 .gmxapi-0.2:clang-8:gmx2021:
60   extends:
61     - .variables:default
62     - .use-clang:base
63   image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
64   stage: test
65   variables:
66     PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
67     PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
68     PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
69     PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
70   script:
71     - source $INSTALL_DIR/bin/GMXRC
72     - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
73   artifacts:
74     reports:
75       junit:
76         - $PY_UNIT_TEST_XML
77         - $PY_MPI_UNIT_TEST_XML
78         - $PY_ACCEPTANCE_TEST_XML
79         - $PY_MPI_ACCEPTANCE_TEST_XML
80     when: always
81     expire_in: 1 week
82   needs:
83     - job: gromacs:clang-8:build
84       artifacts: true
85
86 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
87   extends:
88     - .gmxapi-0.2:clang-8:gmx2021
89     - .rules:merge-requests
90   variables:
91     VENVPATH: "/root/venv/py3.6"
92     PY_VER: "3.6.10"
93
94 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
95   extends:
96     - .gmxapi-0.2:clang-8:gmx2021
97     - .rules:merge-requests
98   variables:
99     VENVPATH: "/root/venv/py3.7"
100     PY_VER: "3.7.7"
101
102 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
103   extends:
104     - .gmxapi-0.2:clang-8:gmx2021
105     - .rules:merge-requests
106   variables:
107     VENVPATH: "/root/venv/py3.8"
108     PY_VER: "3.8.2"