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 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"
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
25 - $PY_MPI_UNIT_TEST_XML
26 - $PY_ACCEPTANCE_TEST_XML
27 - $PY_MPI_ACCEPTANCE_TEST_XML
31 - job: gromacs:clang-8:build
34 gmxapi-0.1:clang-8:py-3.5.9:
38 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
40 # Allow explicit trigger through web interface.
41 - if: '$GMX_GMXAPI_0_1'
43 - if: '$GROMACS_RELEASE'
45 # Run this job for release-2020 branch and merge-requests targeting it.
46 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
49 VENVPATH: "/root/venv/py3.5"
52 gmxapi-0.1:clang-8:py-3.6.10:
56 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
58 # Allow explicit trigger through web interface.
59 - if: '$GMX_GMXAPI_0_1'
61 - if: '$GROMACS_RELEASE'
63 # Run this job for release-2020 branch and merge-requests targeting it.
64 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
67 VENVPATH: "/root/venv/py3.6"
70 gmxapi-0.1:clang-8:py-3.7.7:
74 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
76 # Allow explicit trigger through web interface.
77 - if: '$GMX_GMXAPI_0_1'
79 - if: '$GROMACS_RELEASE'
81 # Run this job for release-2020 branch and merge-requests targeting it.
82 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
85 VENVPATH: "/root/venv/py3.7"
88 gmxapi-0.1:clang-8:py-3.8.2:
92 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
94 # Allow explicit trigger through web interface.
95 - if: '$GMX_GMXAPI_0_1'
97 - if: '$GROMACS_RELEASE'
99 # Run this job for release-2020 branch and merge-requests targeting it.
100 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
103 VENVPATH: "/root/venv/py3.8"
106 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
107 .gmxapi-0.2:clang-8:gmx2021:
111 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
113 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
115 # Allow explicit trigger through web interface.
116 - if: '$GMX_GMXAPI_0_2'
118 - if: '$GROMACS_RELEASE'
120 # Run this job for master branch and merge-requests targeting it.
121 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
125 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
126 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
127 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
128 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
130 - source $INSTALL_DIR/bin/GMXRC
131 - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
136 - $PY_MPI_UNIT_TEST_XML
137 - $PY_ACCEPTANCE_TEST_XML
138 - $PY_MPI_ACCEPTANCE_TEST_XML
142 - job: gromacs:clang-8:build
145 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
147 - .gmxapi-0.2:clang-8:gmx2021
149 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
151 # Allow explicit trigger through web interface.
152 - if: '$GMX_GMXAPI_0_2'
154 - if: '$GROMACS_RELEASE'
156 # Run this job for master branch and merge-requests targeting it.
157 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
160 VENVPATH: "/root/venv/py3.6"
163 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
165 - .gmxapi-0.2:clang-8:gmx2021
167 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
169 # Allow explicit trigger through web interface.
170 - if: '$GMX_GMXAPI_0_2'
172 - if: '$GROMACS_RELEASE'
174 # Run this job for master branch and merge-requests targeting it.
175 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
178 VENVPATH: "/root/venv/py3.7"
181 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
183 - .gmxapi-0.2:clang-8:gmx2021
185 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
187 # Allow explicit trigger through web interface.
188 - if: '$GMX_GMXAPI_0_2'
190 - if: '$GROMACS_RELEASE'
192 # Run this job for master branch and merge-requests targeting it.
193 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
196 VENVPATH: "/root/venv/py3.8"