Skip to content

Avoid multiple builds during nightly workflows #544

@andrewmogan

Description

@andrewmogan

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions