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, which will be added to the release on GitHub.
- Once the artifacts are ready, update the
releases.json
file in the openrefine.org repository to reflect this new version. Verify that the correct versions are shown at http://openrefine.org/download - Update the OpenRefine Homebrew cask or coordinate an update via the developer forum
- 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
), in the same places as in step 2.
Apple code signing
We have code signing certificates for our iOS distributions. Those are available in our build environment and you should not need to import them to your own machine to make a release (since you are not building the release yourself). But if the signing process fails, it can be useful to import the certificates on your own machine to debug the process. To do so:
- 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