-
Notifications
You must be signed in to change notification settings - Fork 2
Description
During our usual nightly workflows, a fresh DUNE DAQ build area gets created and deleted on two separate occasions, first during the extended integration test workflow, and again during the nightly code checks. The weekly linting workflow does this as well. The repeated building costs quite a bit of time, and occasionally leads to weird issues with overlapping workflows causing errors, as I suspect was the case with a recent unit test failure where it saw an already-existing build area and failed. (It's hard to say exactly what happened, however, since the questionable build area got cleaned up by another workflow later). Similarly, many workflows checkout daq-release to some local path and then manually remove it later. While not nearly as wasteful as repeated builds, this could still be avoided.
Since all of this is done on a self-hosted runner, I propose we add a workflow that creates a build area and a daq-release area, and provides updated symbolic links to both. Subsequent workflows could then, for example, cd latest-nightly from $GITHUB_WORKSPACE to access the build area; ditto for daq-release. This workflow could also handle cleanup of the previous night's build area.
Note that we'd also need the option to not use the latest build area for targeted tests, i.e., the extended integration tests should still work on fddaq-v5.5.0-a9 when manually triggered with the appropriate input.