A release can be undertaken only by a project administrator. A project administrator should have an administrator role on the bandframework GitHub.
Best practice is to follow the version of this process as recorded on the develop and/or release branch(es).
- A GitHub issue is created with a checklist for the release.
- A release branch should be taken off
develop(ordeveloppulls controlled). - Release notes for this version are added to the CHANGELOG.rst file.
- Ensure that links and references have been updated (e.g., no occurrences of
privateband). - Version number is updated wherever it appears and
+devsuffix is removed (in README.md and possibly in CHANGELOG.rst). - Check README.md Citing bandframework for correctness (e.g., ensure that author list matches AUTHORS).
- Check bandsdk.md Citing bandframework for correctness.
- Check sdkpolicies README for correctness (e.g., ensure that each software in the release has a working link for its SDK compliance).
- Tests are run with source to be released (this may iterate):
- Online CI (GitHub Actions) tests must pass.
- Documentation must build and display correctly wherever hosted.
- Pull request from either the
developor release branch tomainrequesting one or more reviewers (including at least one other administrator). - Reviewer will check that all tests have passed and will then approve merge.
- Send an email to bandframework@cels.anl.gov asking to confirm whether the list of email contacts in CODE_OF_CONDUCT.md is up-to-date.
An administrator will take the following steps.
- Merge the pull request into
main. - Once CI tests have passed on
main:- A GitHub release will be taken from the
main.
- A GitHub release will be taken from the
- If the merge was made from a release branch (instead of
develop), merge this branch intodevelop. - Create a new commit on
developthat appends+devto the version number (wherever it appears).
- Ensure all relevant GitHub issues are closed.
- Update website to reflect existence of new release.
- Disseminate news of new release to: FRIB-TA mailing list, JETSCAPE/X-SCAPE mailing list, other interested parties.