- The DSA private key to generate a signature. This signature is used by
Sparkle to prove the integrity and authenticity of the release archive (zip
file). The DSA private key should be accessible (can be a symlink) as
~/Documents/hermes.key
. - S3 credentials to upload the release archive to Alex's S3 bucket.
- Copies of HermesApp/Hermes (the app repo) and the
HermesApp/HermesApp.github.io (the GitHub pages repo) in the same
directory. The GitHub pages repo must be accessible as
hermes-pages
.
-
Edit
Hermes/Resources/Info.plist
:- Increment "Bundle versions string, short"
(
CFBundleShortVersionString
). - Increment "Bundle version" (
CFBundleVersion
).
- Increment "Bundle versions string, short"
(
-
Edit
Hermes/CHANGELOG.md
ensuring all significant improvements are noted, and change the link to "Full Changelog" to the differences between last release and the release that is about to be pushed to GitHub. -
Test everything, ensuring it's all working as expected. Once satisfied, commit the changes made in the last two steps. Once committed, tag the commit with the release version. For example:
git tag v1.2.0 750f2de
-
Compile, archive, upload the new version, and edit the
hermes-pages
site:make upload-release
-
Ensure the GitHub pages repository was edited correctly:
- Inspect
hermes-pages/_data/urls.yml
ensuring the URL for keyhermes_download
is valid. - Ensure
hermes-pages/versions.xml
is valid XML. - Make sure
hermes-pages/CHANGELOG.md
looks likeHermes/CHANGELOG.md
.
- Inspect
-
Commit changes in
hermes-pages
and push to GitHub:cd hermes-pages git add . git commit -m v1.2.0 git push origin master
-
Try updating from an old version of Hermes. From textual menus: Hermes → Check for Updates; or from the statusbar icon: click on the icon, then hold down option and click Check for Updates. If the update results in an error, open
~/Library/Logs/SparkleUpdateLog.log
and find out what went wrong. If necessary start over, preferrably removing the bad commit ingithub-pages
with commandgit reset --hard HEAD^
. -
Push both Hermes/HermesApp's master branch and the newly made git tag:
cd Hermes git push origin master git push origin v1.2.0