Skip to content

Amogan/test daq buildtools workflow#336

Merged
andrewmogan merged 20 commits into
developfrom
amogan/test_daq_buildtools_workflow
Feb 25, 2026
Merged

Amogan/test daq buildtools workflow#336
andrewmogan merged 20 commits into
developfrom
amogan/test_daq_buildtools_workflow

Conversation

@andrewmogan
Copy link
Copy Markdown
Contributor

@andrewmogan andrewmogan commented Feb 23, 2026

Description

This PR moves the script test_daq-buildtools.sh, currently housed in daq-release, into daq-buildtools and adds a workflow to run test_daq-buildtools.sh on pull request. Due to security risks of running code from a pull request, this workflow runs on ubuntu-latest in our nightly build container. Note that this container doesn't include llvm or lcov (and shouldn't), so I've modified test_daq-buildtools.sh to only run dbt-build --lint, dbt-clang-format.sh, and dbt-lcov.sh` if the necessary packages are installed.

To test, you can fork a branch off of amogan/test_daq_buildtools_workflow and make some arbitrary modifications, including a trigger on pull request to amogan/test_daq_buildtools_workflow. For example, I created a branch called amogan/test_pull_request_trigger and modified test_daq_buildtools.yml to include

on:
  pull_request:
    branches:
      - develop
      - amogan/test_daq_buildtools_workflow

I then opened a pull request from amogan/test_pull_request_trigger targeting amogan/test_daq_buildtools_workflow, which actuated the workflow. See #338 (not to be merged/reviewed).

Post-Merge Wrap-up

Once we've ascertained that this workflow performs as expected, test_daq-buildtools.sh should be removed from daq-release to avoid drift. This means that the nightly dbt regression test workflow in daq-release will need to be modified to checkout daq-buildtools and run test_daq-buildtools.sh from there. I'll also need to close #338 without merging.

Type of change

  • Documentation (non-breaking change that adds or improves the documentation)
  • New feature or enhancement (non-breaking change which adds functionality)
  • Optimization (non-breaking change that improves code/performance)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (whatever its nature)

Testing checklist

  • Unit tests pass (e.g. dbt-build --unittest)
  • Minimal system quicktest passes (pytest -s minimal_system_quick_test.py)
  • Full set of integration tests pass (daqsystemtest_integtest_bundle.sh)
  • Python tests pass if applicable (e.g. python -m pytest)
  • Pre-commit hooks run successfully if applicable (e.g. pre-commit run --all-files)

Comments here on the testing

Further checks

  • Code is commented where needed, particularly in hard-to-understand areas
  • Code style is correct (dbt-build --lint, and/or see https://dune-daq-sw.readthedocs.io/en/latest/packages/styleguide/)
  • If applicable, new tests have been added or an issue has been opened to tackle that in the future.
    (Indicate issue here: # (issue))

@andrewmogan andrewmogan mentioned this pull request Feb 24, 2026
13 tasks
jcfreeman2 pushed a commit that referenced this pull request Feb 25, 2026
Copy link
Copy Markdown
Collaborator

@jcfreeman2 jcfreeman2 left a comment

Choose a reason for hiding this comment

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

Approved. Using the johnfreeman/test_daq_buildtools_workflow branch I confirmed the workflow was triggered and executed correctly. For good measure, I sabotaged dbt-build and saw the workflow triggered and then fail. There was a workflow which triggered and then seemed to stall when the container was spun up (https://github.com/DUNE-DAQ/daq-buildtools/actions/runs/22413586275) but that seems like a GitHub and/or docker issue as opposed to any issue with the Workflow itself.

@andrewmogan andrewmogan merged commit 7e7af4f into develop Feb 25, 2026
1 check passed
@andrewmogan andrewmogan deleted the amogan/test_daq_buildtools_workflow branch February 25, 2026 20:37
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.

2 participants