Skip to content

VANTAGE-Reactions coupling docker image for testing#28

Merged
mrhardman merged 64 commits into
VANTAGE-Reactions-Coupling/devfrom
VANTAGE-Reactions-Coupling/docker-image
Apr 2, 2026
Merged

VANTAGE-Reactions coupling docker image for testing#28
mrhardman merged 64 commits into
VANTAGE-Reactions-Coupling/devfrom
VANTAGE-Reactions-Coupling/docker-image

Conversation

@mrhardman
Copy link
Copy Markdown

Building on the spack installation by @oparry-ukaea and the docker image by Tom Body (see PR 331, PR 334, PR 335, PR 338, PR 339, PR 342, PR 343, PR 352, PR 521), in this PR we introduce a docker image for the UKAEA-Edge-Code organisation which we can use for Actions CI testing of VANTAGE-Reactions features in hermes-3.

Included is

  • a dockerfile VANTAGE-docker/hermes-3-VANTAGE-dependencies.dockerfile that specifies an image with slowly changing spack dependencies installed. NESO-Particles, VANTAGE-Reactions, BOUT++ and Hermes-3 are uninstalled from the image as these packages are likely to change fastest with VANTAGE development.
  • A manually triggered workflow for building the image and saving it to the UKAEA-Edge-Code organisation as a package. .github/workflows/build_docker_VANTAGE_dependencies_image.yml. So far, I have triggered this workflow on push, by making a new commit with the following code uncommented
  # push:
  #   branches:
  #     - '**
  • Note that the choice of tags is currently similar to Tom Body's original contribution -- this will likely need revising. Non-default branches get the branch, edge and version tags. The default branch gets the latest and sha tags. The resulting packages are visible here . Our docker workflow here does not conflict with the one created by Tom Body as we are storing the image in a different organisation on ghcr.
  • Finally, there is the test action .github/workflows/docker_VANTAGE_tests.yml. This test clones the repo, including submodules with the recursive flag, then starts a container from the :edge tagged image. The top level packages are installed in the container and the ctest tests are executed. The first run of this action took < 25 mins.

Copy link
Copy Markdown

@oparry-ukaea oparry-ukaea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Michael; looks pretty much there - replacing git clone with a COPY is the main change needed, everything else is minor.

Comment thread .github/workflows/build_docker_VANTAGE_dependencies_image.yml Outdated
Comment thread .github/workflows/docker_VANTAGE_tests.yml Outdated
Comment thread .github/workflows/docker_VANTAGE_tests.yml Outdated
Comment thread VANTAGE-docker/README.md

env:
REGISTRY: ghcr.io
IMAGE_NAME: UKAEA-Edge-Code/hermes-3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed offline - something like UKAEA-Edge-Code/hermes-3_deps would be better if possible.

Comment thread VANTAGE-docker/hermes-3-VANTAGE-dependencies.dockerfile Outdated
Comment thread VANTAGE-docker/hermes-3-VANTAGE-dependencies.dockerfile
@mrhardman mrhardman requested a review from oparry-ukaea March 27, 2026 13:41
Copy link
Copy Markdown

@mikekryjak mikekryjak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me apart from that I'd like to make sure that 2D-production and 2D-recycling are exactly as per the PR (boutproject#533).

I haven't tried Docker myself to get this working locally, but since it's working in CI, I'd prefer to do this only when I have to (which I inevitably will at some point).

Comment thread tests/integrated/2D-production/runtest Outdated
#!/usr/bin/env python3
print("step -1")
from time import time
t0 = time()
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the tests be made consistent with master? I added some prints about time taken to do different steps there. Just makes it a bit easier to merge down the line:
boutproject#533.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The easiest way to do this would be to merge boutproject#533 to master in boutproject, so I can merge that to our default and sort out the comparison here. Are you willing to merge boutproject#533 to master on the main repo?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

boutproject#533 is now merged into master

@mrhardman mrhardman linked an issue Mar 31, 2026 that may be closed by this pull request
@mrhardman mrhardman force-pushed the VANTAGE-Reactions-Coupling/docker-image branch 2 times, most recently from 91eabc4 to e11ead9 Compare April 1, 2026 14:26
@mrhardman mrhardman merged commit c4d0186 into VANTAGE-Reactions-Coupling/dev Apr 2, 2026
3 of 4 checks passed
@mrhardman mrhardman deleted the VANTAGE-Reactions-Coupling/docker-image branch April 2, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Execute bout-particle-push as part of the actions CI tests

3 participants