2 # Jobs to test gmxapi client (Python) packages
5 # Base job definition for gmxapi 0.1 tests against GROMACS 2020 in clang-8 environments.
12 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
13 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
14 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
15 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
16 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 - source $INSTALL_DIR/bin/GMXRC
19 - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.1.sh
24 - $PY_MPI_UNIT_TEST_XML
25 - $PY_ACCEPTANCE_TEST_XML
26 - $PY_MPI_ACCEPTANCE_TEST_XML
30 - job: gromacs:clang-8:build
33 gmxapi-0.1:clang-8:py-3.5.9:
37 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
39 # Allow explicit trigger through web interface.
40 - if: '$GMX_GMXAPI_0_1'
42 - if: '$GROMACS_RELEASE'
44 # Run this job for release-2020 branch and merge-requests targeting it.
45 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
48 VENVPATH: "/root/venv/py3.5"
51 gmxapi-0.1:clang-8:py-3.6.10:
55 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
57 # Allow explicit trigger through web interface.
58 - if: '$GMX_GMXAPI_0_1'
60 - if: '$GROMACS_RELEASE'
62 # Run this job for release-2020 branch and merge-requests targeting it.
63 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
66 VENVPATH: "/root/venv/py3.6"
69 gmxapi-0.1:clang-8:py-3.7.7:
73 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
75 # Allow explicit trigger through web interface.
76 - if: '$GMX_GMXAPI_0_1'
78 - if: '$GROMACS_RELEASE'
80 # Run this job for release-2020 branch and merge-requests targeting it.
81 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
84 VENVPATH: "/root/venv/py3.7"
87 gmxapi-0.1:clang-8:py-3.8.2:
91 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
93 # Allow explicit trigger through web interface.
94 - if: '$GMX_GMXAPI_0_1'
96 - if: '$GROMACS_RELEASE'
98 # Run this job for release-2020 branch and merge-requests targeting it.
99 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release-2020" || $CI_COMMIT_BRANCH == "release-2020"'
102 VENVPATH: "/root/venv/py3.8"
105 # Base job definition for gmxapi 0.2 tests against GROMACS 2021 in clang-8 environments.
106 .gmxapi-0.2:clang-8:gmx2021:
111 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
113 # Allow explicit trigger through web interface.
114 - if: '$GMX_GMXAPI_0_2'
116 - if: '$GROMACS_RELEASE'
118 # Run this job for master branch and merge-requests targeting it.
119 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
123 PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml
124 PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml
125 PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml
126 PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml
128 - source $INSTALL_DIR/bin/GMXRC
129 - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR bash -x admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh
134 - $PY_MPI_UNIT_TEST_XML
135 - $PY_ACCEPTANCE_TEST_XML
136 - $PY_MPI_ACCEPTANCE_TEST_XML
140 - job: gromacs:clang-8:build
143 gmxapi-0.2:clang-8:gmx2021:py-3.6.10:
145 - .gmxapi-0.2:clang-8:gmx2021
147 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
149 # Allow explicit trigger through web interface.
150 - if: '$GMX_GMXAPI_0_2'
152 - if: '$GROMACS_RELEASE'
154 # Run this job for master branch and merge-requests targeting it.
155 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
158 VENVPATH: "/root/venv/py3.6"
161 gmxapi-0.2:clang-8:gmx2021:py-3.7.7:
163 - .gmxapi-0.2:clang-8:gmx2021
165 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
167 # Allow explicit trigger through web interface.
168 - if: '$GMX_GMXAPI_0_2'
170 - if: '$GROMACS_RELEASE'
172 # Run this job for master branch and merge-requests targeting it.
173 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
176 VENVPATH: "/root/venv/py3.7"
179 gmxapi-0.2:clang-8:gmx2021:py-3.8.2:
181 - .gmxapi-0.2:clang-8:gmx2021
183 - if: '$CI_PROJECT_NAMESPACE != "gromacs"'
185 # Allow explicit trigger through web interface.
186 - if: '$GMX_GMXAPI_0_2'
188 - if: '$GROMACS_RELEASE'
190 # Run this job for master branch and merge-requests targeting it.
191 - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_COMMIT_BRANCH == "master"'
194 VENVPATH: "/root/venv/py3.8"