Docker Containers For CI Testing ================================ We use Azure Pipelines for CI testing Ascent's Pull Requests. * `Ascent Azure DevOps Space `_ To speed up our CI testing we use Docker containers with pre-built third party libraries. These containers leverage our ``spack/uberenv`` third party build process. The Docker files and build scripts used to create these containers are in ``scripts/ci/docker``. To update the containers (assuming you have Docker installed): * Run ``build_all.sh`` to build and tag new versions of the containers. The tags will include today's day and a short substring of the current git hash. Example Tag: ``alpinedav/ascent-ci:ubuntu-16-cuda-10.1-devel-tpls_2020-08-25-sha449ef8`` * Run ``docker push `` to push the container images to `Ascent's DockerHub Registry `_. You will need to be logged into DockerHub to successfully push, the process may ask for your DockerHub username and password. Example Push Command: ``alpinedav/ascent-ci:ubuntu-16-cuda-10.1-devel-tpls_2020-08-25-sha449ef8`` * To change which Docker Image is used by Azure, edit ``azure-pipelines.yml`` and change `container_tag` variable. .. code-block:: yaml ##### # TO USE A NEW CONTAINER, UPDATE TAG NAME HERE AS PART OF YOUR PR! ##### variables: ubuntu_18_tag : alpinedav/ascent-ci:ubuntu-18-devel-tpls_2021-12-29-shadee81a ubuntu_18_cuda_tag : alpinedav/ascent-ci:ubuntu-18-cuda-10.1-devel-tpls_2021-12-29-shadee81a ubuntu_18_cuda_11_4_0_tag: alpinedav/ascent-ci:ubuntu-18.04-cuda-11.4.0-devel-tpls_2021-12-29-shadee81a ubuntu_20_10_tag: alpinedav/ascent-ci:ubuntu-20.10-devel-tpls_2021-12-29-shadee81a ubuntu_21_04_tag: alpinedav/ascent-ci:ubuntu-21.04-devel-tpls_2021-12-29-shadee81a ubuntu_21_10_tag: alpinedav/ascent-ci:ubuntu-21.10-devel-tpls_2021-12-29-shadee81a When the PR is merged, the azure changes will be merged and PRs to develop will use now the new containers.