Workflow for configuration creation and update¶
This is an example on how changes in the base repository can happen.
Area setup¶
source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest_v5
dbt-create fddaq-v5.2.2-a9 MyArea
cd MyArea/
source env.sh
dbt-workarea-env
dbt-build
git clone ssh://git@gitlab.cern.ch:7999/dune-daq/online/runconftools.git
cd runconftools
pip install .
cd ..
At this point, you have a working environment with the tools necessary to propagate the changes to the operation repo once we are happy with the result.
The next step is to have a local base configuration area to modify.
The following starts from the configuration for the DAQ version fddaq-v5.2.2-a9-1.
git clone ssh://git@gitlab.cern.ch:7999/dune-daq/online/ehn1-daqconfigs.git EHN1-configs
cd EHN1-configs
git checkout fddaq-v5.2.2 -b mroda/my_dev
Some suggestions¶
If you need to develop a generator, I suggest you write the generator outside the local git repo so you can test the generator on the base. In case it's not ok, use a simple git restore to return the repository to its initial state. Once you are happy with the generator, you can move the file inside the repo and add it to git.
Push review and testing¶
Whatever the changes you made, commit and push to a branch on the base repo.
git commit . -m "My dev"
git push origin mroda/my_dev
At this point you open the merge request towards the branch you started from, in this case fddaq-v5.2.2.
Before the merge things should be tested and reviewed, if possible.
But the test depends on the type of changes.
If you just added a generator but the OKS objects in the base are unchanged, then there is no need to test all the generators.
Assuming the new generator is tested by the developers, we can just merge.
If there are changes in the OKS objects, we need to test that the generators are still functioning correctly.
So before merging, I would test the generator doing the following:
cd .. ##to go back to the previous level
mkdir TempTest ## to run the generator on a test area so local changes are not lost
cpm-update -b mroda/my_dev -r mroda-test --no-push TempTest
If you need to push the branches on operation so that they can be tested by a shifter, you can do that too. In this case simply push with:
cpm-update -b mroda/my_dev -r mroda-test --push-only TempTest
rm -rf TempTest
If all the branches are ok on the operation side, then all is well and we can merge, if not, we need to fix the merge request.
Regeneration of the operation branches¶
Once the merge is done we just need to recreate the operation branches for the patch, but this time we push to branches with the right version.
Most likely this is an operation done by run coordinators.
mkdir Temp
cpm-update -b fddaq-v5.2.2 -r fddaq-v5.2.2 Temp
## please note that the specification of base and release at this point might be the defaults
## And it might not be necessary to specify them.
rm -rf Temp
Last git commit to the markdown source of this page:
Author: MRiganSUSX
Date: Tue Apr 8 12:49:40 2025 +0200
If you see a problem with the documentation on this page, please file an Issue at https://github.com/DUNE-DAQ/runconftools/issues