-
Notifications
You must be signed in to change notification settings - Fork 6
Creating an artdaq otsdaq Release
eflumerf edited this page Aug 18, 2025
·
11 revisions
- Prepare an artdaq software area using the quick-spack-start.sh script:
quick-spack-start.sh --develop --upstream /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_areas/artdaq-v4_03_00 --upstream /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_areas/art-suite-s132- The upstreams serve as a "bootstrap" so that you don't have to build the whole suite
- Make sure that you have repositories checked out read-write (
git remote set-url origin git@github.com:art-daq/pkg.git, or add-wif you have Github RSA set up)
- Determine tags to use for each package: https://semver.org
- Packages may not have diff relative to last tag, in that case only
artdaqmust be tagged regardless
- Packages may not have diff relative to last tag, in that case only
- Tag each package with the release version:
git checkout -b release/$releaseVer;vi CMakeLists.txt;git commit -am"Update package version";git tag v4_04_00- A PR to
developwill be necessary to incorporate changes
- A PR to
- Edit the Spack package configuration file in the artdaq-spack repository. Add a
version(v4_04_00, commit="")block, using the commit hash fromgit show- If API changes are made, make sure to reflect this in the package.py files (e.g.
depends_on("artdaq-core@:v4_99_00", when="@:v4_99_00")) - Make sure to commit and push the changes to artdaq-spack (again, branch and PR as needed)
- If API changes are made, make sure to reflect this in the package.py files (e.g.
- Add a
when("@v4_04_00")block to https://github.com/art-daq/artdaq-spack/blob/develop/packages/artdaq-suite/package.py, with the appropriate tags for each package (this can be used for tracking progress while tagging, as well) - Update the squals array if introducing a new art-suite version
- Tag the https://github.com/art-daq/artdaq-spack repository with a bundle-version tag (e.g. artdaq-v4_04_00)
- Prepare an otsdaq software area using the ots-quick-spack-start.sh script:
ots-quick-spack-start.sh --develop --upstream /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_areas/ots-v3_03_00 --upstream /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_areas/artdaq-v4_03_00 --upstream /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_areas/art-suite-s132- The upstreams serve as a "bootstrap" so that you don't have to build the whole suite
- Make sure that you have repositories checked out read-write (
git remote set-url origin git@github.com:art-daq/pkg.git, or add-wif you have Github RSA set up)
- Determine tags to use for each package: https://semver.org
- Packages may not have diff relative to last tag, in that case only
otsdaqmust be tagged regardless
- Packages may not have diff relative to last tag, in that case only
- Tag each package with the release version:
git checkout -b release/$releaseVer;vi CMakeLists.txt;git commit -am"Update package version";git tag v4_02_00- A PR to
developwill be necessary to incorporate changes
- A PR to
- Edit the Spack package configuration file in the artdaq-spack repository. Add a
version(v3_04_00, commit="")block, using the commit hash fromgit show- If API changes are made, make sure to reflect this in the package.py files (e.g.
depends_on("otsdaq@:v3_99_00", when="@:v3_99_00")) - Make sure to commit and push the changes to artdaq-spack (again, branch and PR as needed)
- If API changes are made, make sure to reflect this in the package.py files (e.g.
- Add a
when("@v3_04_00")block to https://github.com/art-daq/artdaq-spack/blob/develop/packages/otsdaq-suite/package.py, with the appropriate tags for each package (this can be used for tracking progress while tagging, as well) - Update the squals array if introducing a new art-suite version
- Update the artdaq qualifier list with the new artdaq version
- Tag the https://github.com/art-daq/artdaq-spack repository with a bundle-version tag (e.g. otsdaq-v3_04_00)
- Set the "Target Version" for any completed Issues and PRs on this project https://github.com/orgs/art-daq/projects/1 to "Next Release"
- Go to the Project properties, change "Next Release" to the new version (e.g. "v4_04_00")
- Create a new "Target Version" tag, called "Next Release", and move it to the top of the list
- Duplicate the most recent "Release" view, rename to current release and edit the filter to show "target-version: v4_04_00" (corresponding to the new release, of course)
- Create Github Releases for each tagged package, using the auto-generated release notes
- Send a release announcement email to artdaq-users and otsdaq_users. Optionally add details about the major features of the release, but always link to the newly-created view on the Github tracking project.
- Check out https://github.com/art-daq/daq-docker on a node that is capable of running Docker (or Podman)
- Update
run_update_docker.shfor the bundle versions used - Run
run_update_docker.sh. If building multiple dependency bundles, it is often a good idea to use the control variables ("doArtdaqBuild=1") to perform one build at a time - Update the Github Docker images by running the daq-docker CI jobs manually
- To keep these instructions up-to-date, try to update version numbers as appropriate, especially the
--upstreamarguments to the quick-spack-start scripts.