How to do an OpenRefine version release
When releasing a new version of Refine, the following steps should be followed:
- Make sure the
master
branch is stable and nothing has broken since the previous version. We need developers to stabilize the trunk and some volunteers to try outmaster
for a few days. - Change the version number in RefineServlet.java and in the POM files using
mvn versions:set -DnewVersion=2.6-beta -DgenerateBackupPoms=false
. Commit the changes. - Compose the list of changes in the code and on the wiki. If the issues have been updated with the appropriate milestone, the Github issue tracker should be able to provide a good starting point for this.
- Tag the release candidate in git and push the tag to Github. For example:
git tag -a -m "Second beta" 2.6-beta.2
git push origin --tags
- Create a GitHub release based on that tag, with a summary of the changes as description of the release. Publishing the GitHub release will trigger the generation of the packaged artifacts. The download links can point directly to Maven Central and can be built as follows (replace
3.6-rc1
by your version string):- Linux: https://oss.sonatype.org/service/local/artifact/maven/content?r=releases&g=org.openrefine&a=openrefine&v=3.6-rc1&c=linux&p=tar.gz
- MacOS: https://oss.sonatype.org/service/local/artifact/maven/content?r=releases&g=org.openrefine&a=openrefine&v=3.6-rc1&c=mac&p=dmg
- Windows without embedded JRE: https://oss.sonatype.org/service/local/artifact/maven/content?r=releases&g=org.openrefine&a=openrefine&v=3.6-rc1&c=win&p=zip
- Windows with embedded JRE: https://oss.sonatype.org/service/local/artifact/maven/content?r=releases&g=org.openrefine&a=openrefine&v=3.6-rc1&c=win-with-java&p=zip
- Announce the beta/release candidate for testing
- Repeat build/release candidate/testing cycle, if necessary.
- Update the OpenRefine Homebrew cask or coordinate an update via the developer forum
- Verify that the correct versions are shown in the widget at http://openrefine.org/download
- Announce on the announcements section of the OpenRefine forum, or even on the blog if this is a major release (the blog is imported automatically into the announcements category of the forum)
- Update the version in master to the next version number with
-SNAPSHOT
(such as4.3-SNAPSHOT
)
mvn versions:set -DnewVersion=4.3-SNAPSHOT
- If releasing a new major or minor version, create a snapshot of the docs, following Docusaurus' versioning procedure.
Apple code signing
We have code signing certificates for our iOS distributions. To use them, follow these steps:
- Request advisory.committee@openrefine.org to be added to the Apple team: you need to provide the email address that corresponds to your AppleID account;
- Create a certificate signing request from your Mac: https://help.apple.com/developer-account/#/devbfa00fef7
- Go to https://developer.apple.com/account/resources/certificates/add and select "Apple Distribution" as certificate type
- Upload the certificate signing request in the form
- Download the generated certificate
- Import this certificate in the "Keychain Access" app on your mac
- The signing workflow can be found in
.github/workflows/snapshot_release.yml
Currently the signing of our releases is disabled because it is blocked by a dependency (#4568)