Skip to content

Releases: LDMX-Software/docker

4.2.2 : ease usage of `denv` and simplify entrypoint

06 Apr 13:48
Compare
Choose a tag to compare

This patch release is just to have a marked tag for any users interested in trying to use denv with ldmx-sw. #95 moved environment initialization into its own script that both the /etc/skel/.profile and /etc/entry.sh can source. The first file is copied by denv into the user's workspace to be used by the container's shell when initializing and the second is used by ldmx when launching the container. This means both can initialize an equivalent environment without further setup of the user's local copy of .profile.

What's Changed

Full Changelog: 4.2.1...4.2.2

4.2.1 : bump Geant4 patch version for upstream biasing

19 Feb 15:40
Compare
Choose a tag to compare

The updated Geant4 patch enables biasing of volumes upstream of the target and the patch has no effect on any current samples which bias the target region or downstream volumes.

What's Changed

Full Changelog: 4.2.0...4.2.1

4.2.0 : Better Labels and Custom G4

04 Jan 18:34
Compare
Choose a tag to compare

Besides some documentation and chores, the main features motivating this release are #80 and #82 .

#80 standardizes using environment variables to track our dependency versions, this also makes it transparent to add labels to the image so we can deduce which package versions are in use without having to run it.

#82 adds a snippet to the entrypoint script allowing users to use a custom-build of Geant4 by defining a special environment variable. This may mean we will not have to keep different builds of Geant4 within the container anymore since users who wish to study other builds can now build their own without having to build the entire image. #90 followed up with some fixes to enable versions of Geant4 with different datasets.

What's Changed

New Contributors

Full Changelog: v4.1.0...4.2.0

4.1.0: rework Dockerfile and add clang dev tools

30 Aug 16:17
Compare
Choose a tag to compare

Besides the refactor of the Dockerfile focused on rebuild efficiency done by @EinarElen in #67 , we also included a few more clang development tools as well as fixed the building workflow which was putting all of the previous digests into the manifest for an image rather than just the two from its workflows.

What's Changed

Full Changelog: v4.0.1...v4.1.0

v4.0.1 : multi-platform image building

14 Aug 15:53
739e1e7
Compare
Choose a tag to compare

The reason this is simply a patch release is because very little of the container-internal software has changed. ONNX had to be bumped to 1.15 but besides that, only the removal of an old, now meaningless, compile flag was implemented in the Dockerfile. The rest of the changes and work was done in the CI, making sure that the builder workflow could be done across many architectures at once and setting up a self-hosted runner at UMN for our very-long builds.

What's Changed

Other Contributions

  • @therwig did some manual testing of different images on his Apple M1 computer to double check that the arm builds were functional.

Full Changelog: v4.0.0...v4.0.1

v4.0 : upgrade to Ubuntu 22.04

22 Jun 18:54
Compare
Choose a tag to compare

Breaking Changes

The upgrade to a new GCC version and a new Python version required some changes to ldmx-sw in order to compile and run properly. These changes were implemented by a few PRs1 which you can reference for details. Here I list the major bugs that need to be resolved in order to properly interface with older ldmx-sw versions in this new container image.

  1. ROOT Branch Configuration (compile time) - A hacky-solution to tell ROOT to stop deleting our branch objects needed to be patched so that it could be compiled with the newer GCC version. LDMX-Software/Framework@5ddc20e This patch is included in Framework v1.3.2.
  2. Catch2 version (compile time) - As noticed in #54 (comment) Catch2 v2 uses a method for registering tests that is not supported by newer GCC anymore (it was kinda hacky and used a lot of memory), so we need to update to Catch2 v3. You can skip this issue if you simply don't build the tests by commenting out build_tests() in the CMakeLists.txt in ldmx-sw; however, you should prefer to update your branch to the newer ldmx-sw if you wish for your developments to be integrated.
  3. Python C API Interaction (run time) - The way we were using the Python C API did not accommodate the memory-saving measures that were implemented in newer Python versions, so we needed to update it.
  4. ONNX API (compile time) - ONNXRuntime changed its API somewhere between v1.2.0 (what was used for first integration) and the current v1.15.0. We want to upgrade to v1.15.0 so we can support both x86_64 and arm64 architectures. For this reason, we have moved ONNX into the image and update the CMake infrastructure so that it will correctly deduce if ONNX already exists or if it needs to be downloaded. For past compatibility reasons, the version being downloaded by CMake (if the user is not using a v4 container image) is still v1.2.0 and so will only support x86_64 architectures. The helper class for using ONNXRuntime was updated to use the C preprocessor to follow the API changes that affect us.

What's Changed

Full Changelog: v3.5.0...v4.0.0

  1. LDMX-Software/ldmx-sw#1157 updated Catch2 version, LDMX-Software/ldmx-sw#1170 updated ONNX API, and LDMX-Software/ldmx-sw#1173 updated Python API

v4 release candidate 2

21 Jun 13:57
Compare
Choose a tag to compare
Pre-release

The detailed testing found a bug in how I was defining the data paths for Geant4. Patching this and making a new release candidate for further testing.

v4 release candidate 1

19 Jun 15:00
cecb7db
Compare
Choose a tag to compare
Pre-release

I've built ONNX into the container and re-enabled running the tests on ldmx-sw trunk after merging in the compile-time updates into ldmx-sw. I am still seeing bugs with this build of ldmx-sw and so I'll need to continue to develop but this tag of docker is what I will be using to test and develop the necessary updates to ldmx-sw.

Since the tests are failing, the build will not be automatically pushed to dockerhub. I have downloaded the build from the commit I am tagging and will push the v4.0.0-rc1 tag to DockerHub manually.

v4.0 release candidate 0

12 Jun 15:14
Compare
Choose a tag to compare
Pre-release

zero'th testing pre-release for major container image update.

v3.5 : Last 18.04 Based Image

01 Dec 16:15
Compare
Choose a tag to compare

Since the updated OS container requires patches to Framework in order to functionally build ldmx-sw, I will make a major release of that container. It will still be possible building v3-versions of ldmx-sw with the new container, but the Framework submodule specifically will need to be updated to at least v1.3.1.

What's Changed

New Contributors

Full Changelog: v3.4.0...v3.5.0