# # Jobs to test gmxapi client (Python) packages # # Base job definition for gmxapi 0.1 tests against GROMACS 2020 in clang-8 environments. .gmxapi-0.1:clang-8: extends: - .variables:default - .use-clang:base stage: test image: ${CI_REGISTRY}/gromacs/gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020 variables: KUBERNETES_CPU_LIMIT: 2 KUBERNETES_CPU_REQUEST: 2 KUBERNETES_MEMORY_LIMIT: 2Gi KUBERNETES_MEMORY_REQUEST: 2Gi PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml 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" script: - source $INSTALL_DIR/bin/GMXRC - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR OMP_NUM_THREADS=1 bash admin/ci-scripts/build-and-test-py-gmxapi-0.1.sh # Note that the XML output is concatenated when multiple reports are produced # by a single job. If this presents problems, we may have to split the tests # into multiple jobs. In particular, test names will appear once for MPI and # once for non-MPI runs, which may confuse the test result parser. artifacts: reports: junit: - $PY_UNIT_TEST_XML - $PY_MPI_UNIT_TEST_XML - $PY_ACCEPTANCE_TEST_XML - $PY_MPI_ACCEPTANCE_TEST_XML when: always expire_in: 1 week tags: - k8s-scilifelab # The dependency means we need to use the same tag restriction as upstream. needs: - job: gromacs:clang-8:build artifacts: true gmxapi-0.1:clang-8:py-3.5.9: extends: - .gmxapi-0.1:clang-8 - .rules:merge-requests:release-2020 variables: VENVPATH: "/root/venv/py3.5" PY_VER: "3.5.9" gmxapi-0.1:clang-8:py-3.6.10: extends: - .gmxapi-0.1:clang-8 - .rules:merge-requests:release-2020 variables: VENVPATH: "/root/venv/py3.6" PY_VER: "3.6.10" gmxapi-0.1:clang-8:py-3.7.7: extends: - .gmxapi-0.1:clang-8 - .rules:merge-requests:release-2020 variables: VENVPATH: "/root/venv/py3.7" PY_VER: "3.7.7" gmxapi-0.1:clang-8:py-3.8.2: extends: - .gmxapi-0.1:clang-8 - .rules:merge-requests:release-2020 variables: VENVPATH: "/root/venv/py3.8" PY_VER: "3.8.2" .gmxapi-0.2:gcc-11:gmx2021: extends: - .variables:default - .use-clang:base image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11 stage: test variables: KUBERNETES_CPU_LIMIT: 2 KUBERNETES_CPU_REQUEST: 2 KUBERNETES_MEMORY_LIMIT: 2Gi KUBERNETES_MEMORY_REQUEST: 2Gi PY_UNIT_TEST_XML: $CI_PROJECT_DIR/py-JUnitTestResults.xml PY_MPI_UNIT_TEST_XML: $CI_PROJECT_DIR/py-mpi-JUnitTestResults.xml PY_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-JUnitTestResults.xml PY_MPI_ACCEPTANCE_TEST_XML: $CI_PROJECT_DIR/gmxapi-acceptance-mpi-JUnitTestResults.xml script: - source $INSTALL_DIR/bin/GMXRC - source $VENVPATH/bin/activate && INSTALL_DIR=$PWD/$INSTALL_DIR OMP_NUM_THREADS=1 bash admin/ci-scripts/build-and-test-py-gmxapi-0.2.sh artifacts: reports: junit: - $PY_UNIT_TEST_XML - $PY_MPI_UNIT_TEST_XML - $PY_ACCEPTANCE_TEST_XML - $PY_MPI_ACCEPTANCE_TEST_XML when: always expire_in: 1 week tags: - k8s-scilifelab # The dependency means we need to use the same tag restriction as upstream. needs: - job: gromacs:gcc-11:build artifacts: true gmxapi-0.2:gcc-11:gmx2021:py-3.6.10: extends: - .gmxapi-0.2:gcc-11:gmx2021 - .rules:merge-requests:release-2021 variables: VENVPATH: "/root/venv/py3.6" PY_VER: "3.6.10" gmxapi-0.2:gcc-11:gmx2021:py-3.7.7: extends: - .gmxapi-0.2:gcc-11:gmx2021 - .rules:merge-requests:release-2021 variables: VENVPATH: "/root/venv/py3.7" PY_VER: "3.7.7" gmxapi-0.2:gcc-11:gmx2021:py-3.8.2: extends: - .gmxapi-0.2:gcc-11:gmx2021 - .rules:merge-requests:release-2021 variables: VENVPATH: "/root/venv/py3.8" PY_VER: "3.8.2" gmxapi-0.2:gcc-11:gmx2021:py-3.9.1: extends: - .gmxapi-0.2:gcc-11:gmx2021 - .rules:merge-requests:release-2021 variables: VENVPATH: "/root/venv/py3.9" PY_VER: "3.9.1"