-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#2: implement common docker containers #3
Conversation
…rocess WIP and add some deps scripts
…ipts per environment
@tlamonthezie You can use DARMA-tasking/magistrate#349 to experiment with replacing current docker images with the ones generated here. Something like: diff --git a/docker-compose.yml b/docker-compose.yml
index 9c49b13..0e45418 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -113,7 +113,7 @@ services:
# Ubuntu gcc-8 debug build:
# docker-compose run -e CMAKE_BUILD_TYPE=debug ubuntu-cpp
ubuntu-cpp:
- image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp
+ image: ${REPO}:wf-${ARCH}-ubuntu-${UBUNTU}-${COMPILER}-cpp
build:
context: . should be enough. |
See DARMA-tasking/magistrate#377. At the moment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a couple of comments, some more might follow in a form of a follow-up issues.
I have swapped the containers in DARMA-tasking/magistrate#377, this should be good for getting a basic feedback (e.g. we still need gtest, kokkos and kokkos-kernels to have magistrate CI passing). Feel free to make the changes there or just rerun the pipelines once you update the containers.
Fixes #2
This PR provides the docker images configurations, build & push tools and also matrix json files for usage by any external project for its own tests.
CI Test environments & tools
The test evironments are defined in
ci/config.yaml
Some tools are provided as Python scripts
ci/build-matrix.py
: build the list of available test environments as a JSON matrix fileci/build-setup.py
: generates setup shell scripts (a shell script is generated for each test environment).ci/build-docker-image.py
: build a docker image from the list of available images described in configuration file (with interactive support for local build and non-interactive mode for CI)Testing from Docker images
A unique dockerfile at
ci/docker/base.dockerfile
serves as a base to build any image.Images are built using a python script and are currently pushed to the vt repository using
wf-
prefix in tag names when pushing to master (this has already be done in https://github.com/DARMA-tasking/workflows/actions/runs/12028577111)Testing from CI runners
The configuration enables to run some test environments outside of docker containers and directlly in a runner if the use of a docker image is not desired or not possible.
This is the case for the macosx testing environment which has been added to the test configuration and is run in the example (build-and-test.yml).
CI Workflows
The Github workflow defined at
.github/workflows/build-docker-image.yml
is responsible on building and pushing images to the DockerHub registry.Build & Test Example given by
test-ci-project