Making Releases¶
Contents:
Use the number of the milestone with a “v” in front for the release tag. For example: v4.6.2
.
Create the release GitHub issue and branch¶
Use the GitHub issue number and the release tag for the name of the branch. For example: 4734-update-v-4.8.6-to-4.9
Note: the changes below must be the very last commits merged into the develop branch before it is merged into master and tagged for the release!
Make the following changes in the release branch:
1. Bump Version Numbers¶
Increment the version number to the milestone (e.g. 4.6.2) in the following two files:
modules/dataverse-parent/pom.xml ->
<properties>
-><revision>
doc/sphinx-guides/source/conf.py (two places)
Add the version being released to the lists in the following two files:
doc/sphinx-guides/source/versions.rst
scripts/database/releases.txt
Here’s an example commit where three of the four files above were updated at once: https://github.com/IQSS/dataverse/commit/99e23f96ec362ac2f524cb5cd80ca375fa13f196 (Note: the version has been moved to a property in parent module since this commit was created.)
2. Check in the Changes Above…¶
… into the release branch, make a pull request and merge the release branch into develop.
Merge “develop” into “master”¶
The “develop” branch should be merged into “master” before tagging. See also the branching strategy described in the Version Control section.
Write Release Notes¶
Developers should express the need for an addition to release notes by creating a file in /doc/release-notes
containing the name of the issue they’re working on. The name of the branch could be used for the filename with “.md” appended (release notes are written in Markdown) such as 5053-apis-custom-homepage.md
.
At or near release time:
Create an issue in Github to track the work of creating release notes for the upcoming release
Create a branch, add a .md file for the release (ex. 4.16 Release Notes) in
/doc/release-notes
and write the release notes, making sure to pull content from the issue-specific release notes mentioned aboveDelete the previously-created, issue-specific release notes as the content is added to the main release notes file
Take the release notes .md through the regular Code Review and QA process
Create a draft release at https://github.com/IQSS/dataverse/releases/new
The “tag version” and “title” should be the number of the milestone with a “v” in front (i.e. v4.16).
Copy in the content from the .md file
For the description, follow post-4.16 examples at https://github.com/IQSS/dataverse/releases
Make Artifacts Available for Download¶
Upload the following artifacts to the draft release you created:
war file (
mvn package
from Jenkins)installer (
cd scripts/installer && make
)other files as needed, such as updated Solr schema and config files
Publish Release¶
Click the “Publish release” button.
Previous: Docker, Kubernetes, and Containers | Next: Tools