[x] Make sure that high priority bugs (label "priority" + "bug") have been resolved before going into the release.
[x] Review old/hanging PRs before going into the release.
[x] ~Revisit R-package's lifecycle badges (Optional).~ Not applicable
[x] Discuss package dependencies before going into release activities.
[x] Create a plan to sequentially close release activities and submit groups of packages for internal validation (Applicable only for regulatory release).
[x] Check Validation Pipeline dry-run results for the package.
[x] Make sure all relevant integration tests are green 2-3 days before the release. Look carefully through logs (check for warnings and notes).
[x] ~Check if a package is installable on our supported internal systems (Optional).~ Not applicable
[x] Inform about the soft code freeze, decide what gets merged in before starting release activities.
Release Process
We adopt the policy of one release branch that will contain all the fixes and changes deriving from internal validation feedback. This is done within the safety of having already green integration tests before release. No major change is expected and we want a clean main.
[x] Create release branch as follows:
# Create a new branch to do the vbump for a given
# release candidate.
git checkout main
git pull origin main
git checkout -b release-candidate-vX.Y.X
Make sure of the following before continuing:
[x] ~Recurring tasks: Execute the manual tests on Shiny apps that are deployed on various hosting providers (Posit connect and shinyapps.io) - track the results in GitHub issue (Applicable only for frameworks that use Shiny).~ Not applicable
[x] Recurring tasks: Monitor integration tests, if integration fails, create priority issues on the board.
[x] Make sure that CI checks are passing in GH before releasing the package.
[x] ~Sanity checks for Shiny applications e.g. checking if Shiny apps are deployable and making sure there are no errors/warnings.~ Not applicable
[x] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package, check README.
[x] ~Remove the additional fields (Remotes ~and Config/Needs/*~) from the DESCRIPTION file where applicable.~ Not applicable
[x] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package.
[x] Increase versioned dependency on {package name} to >=X.X.X.
[x] Commit your changes and create the PR on GitHub (add "[skip vbump]" in the PR title). Add all updates, commit, and push changes.
# Make the necessary modifications to your files [These are the
# Stage the changes
git add <files your modified>
# Commit the changes
git commit -m "[skip vbump] <Your commit message>"
git push origin release-candidate-vX.Y.X
[x] tag the update(s) as a release candidate v-rc (e.g. v0.5.3-rc1) on the release (candidate) branch. Note that tags are created in GitHub and synchronized with GitLab automatically. You can do it with the following:
# Create rc tag for submission for internal validation
git tag vX.Y.Z-rc<iteration number>
git push origin vX.Y.Z-rc<iteration number>
[x] The package is submitted for internal validation by Release Coordinator (Applicable only for regulatory release).
[x] Address any feedback (internal validation/user testing), retag the package as a release candidate vX.X.X-rc(n+1). Fixes can be done on the release branch or on fix branches pointing to the release branch. If the fixes/changes are REALLY consistent, we suggest merging on main, open feature branches with fixes and recreate release branch. Repeat the submission for internal validation if necessary.
[x] Get the package validated (Applicable only for regulatory release).
[x] ~If the additional fields were removed, add them back in a separate PR, and then merge the PR back to main (add "[skip vbump]" in the PR title).~ Not applicable
[x] Create a git tag with the final version set to 0.5.3 on the main branch.
[x] Update downstream package dependencies to (>=0.5.3) in {rtables, rlistings, tern}.
Testing
[x] Integration tests results - accepted.
[x] UAT results - accepted.
[x] ~Shiny apps test results - accepted (Applicable only for Shiny apps).~ Not applicable
[x] Necessary testing on target environment - performed (up to ETL).
Release Feedback
[ ] Fix 1
[ ] Enhancement 1
[ ] Defect 1
Post-release Checklist
[x] Make sure that the package is published to internal repositories (Validated and/or Non-Validated repository).
[x] Review and update installation instructions for the package if needed.
[x] Verify if a new dev version (.9XXX) has been added to the NEWS.md file and DESCRIPTION file as a placeholder for release notes by automation.
[x] Make sure internal documentation/documentation catalogs are up to date.
[x] Notify the IDR team to start post-release/clean-up activities.
Blocked by
PRs
Issues
Pre-requisites
Release Process
We adopt the policy of one release branch that will contain all the fixes and changes deriving from internal validation feedback. This is done within the safety of having already green integration tests before release. No major change is expected and we want a clean main.
Make sure of the following before continuing:
[x] ~Recurring tasks: Execute the manual tests on Shiny apps that are deployed on various hosting providers (Posit connect and shinyapps.io) - track the results in GitHub issue (Applicable only for frameworks that use Shiny).~ Not applicable
[x] Recurring tasks: Monitor integration tests, if integration fails, create priority issues on the board.
[x] Make sure that CI checks are passing in GH before releasing the package.
[x] ~Sanity checks for Shiny applications e.g. checking if Shiny apps are deployable and making sure there are no errors/warnings.~ Not applicable
[x] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package, check README.
[x] ~Remove the additional fields (
Remotes
~andConfig/Needs/*
~) from the DESCRIPTION file where applicable.~ Not applicable[x] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package.
[x] Increase versioned dependency on {package name} to >=X.X.X.
[x] Commit your changes and create the PR on GitHub (add "[skip vbump]" in the PR title). Add all updates, commit, and push changes.
Testing
Release Feedback
Post-release Checklist
Decision tree
Click here to see the release decision tree.