Skip to content

Conversation

tomeichlersmith
Copy link
Member

@tomeichlersmith tomeichlersmith commented Aug 7, 2025

This resolves #137

A premium is placed on not affecting the current trunk-based workflow of ldmx-sw.

Checks

Changing the environment scripting mainly affects runtime behavior of finding executables and linking them to their libraries. Finding the ldmx-sw executables is tested by running simple simulation through fire., finding the ldmx-sw python config package is tested by running ctest, and finding GENIE-specific libs is tested by running a GENIE simulation. GENIE called out specifically because I am dropping LD_LIBRARY_PATH in favor of ldconfig.

  • configure, build, simple sim run of trunk and previous versions (done by CI)
  • check that GENIE executables are findable (denv genie-config showed its help message)
  • run ctest on trunk for ldmx-sw CI (just test works)
  • run GENIE validation sample on trunk for ldmx-sw CI (see below)
  • configure, build, simple sim run of 1472-move-denv-into-ldmx-sw for future
  • run ctest on 1472-move-denv-into-ldmx-sw
  • run GENIE validation sample on 1472-move-denv-into-ldmx-sw

run GENIE

just setenv LDMX_NUM_EVENTS=10
cd .github/validation_samples/target_genie
. init.sh
denv fire config.py

@tomeichlersmith tomeichlersmith marked this pull request as ready for review August 7, 2025 19:51
@tomeichlersmith
Copy link
Member Author

Just notes for future me to make sure I covered my bases.

"current trunk" is without changes form 1472-move-denv-into-ldmx-sw while "future" trunk includes them.
Imagining world where the latest dev image includes these changes.

  • Current Setups: .profile defines LDMX_BASE=${HOME} and ${HOME} is ldmx-sw parent directory (where .denv is located)
    • on current trunk, switching to a new image without re-init will work because LDMX_BASE is defined correctly so that LDMX_SW_INSTALL is the right path
    • on current trunk, re-init will silently not do anything due to --no-over provided to denv
    • on future trunk, init fails until ldmx-sw/../.denv is deleted, normal operations work because LDMX_BASE is defined properly
  • New Setups on current trunk: .profile does not define LDMX_BASE and ${HOME} is ldmx-sw parent
    • init works because ldmx-env-init.sh sees ~/ldmx-sw and sets LDMX_SW_INSTALL accordingly
  • New Setups on future trunk: .profile does not define LDMX_BASE and ${HOME} is ldmx-sw
    • init works because ldmx-env-init.sh sees ~/CMakeLists.txt and sets LDMX_SW_INSTALL accordingly

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.

support ${HOME} being ldmx-sw itself

1 participant