-
-
Notifications
You must be signed in to change notification settings - Fork 683
Deployment
Before making a new release, make sure to manually test on x86_64 and arm64, as well as across different macOS versions.
Also, it's a good idea to merge from upstream (see Merging-from-upstream-Vim) at least a few days before the final release. This makes sure we have the most up-to-date Vim, while we can monitor and see if there are any glaring issues with Vim like crashes that would block a release.
Also, double check if we have upstream dependencies (e.g. Sparkle) that we should update to, and check that if scripting languages like Python have been updated to a new versions.
-
Update
src/MacVim/Info.plist CFBundleVersion
to NUMBER. -
Commit
src/MacVim/Info.plist
with meaningful commit log like this and push it. -
Create a signed annotated
release-NUMBER
tag (make sure you have Git set up to sign, and the signature is registered at Github) and push the tag to the origin (assuming "origin" is the name of the remote to this repository):$ git tag -a -s release-NUMBER $ git push origin release-NUMBER
-
Don't use
git push origin --tags
!
-
Don't use
-
Go to the Tags page and find the tag you made and create a release out of it. Choose a title similar to previous releases (e.g. "MacVim r179"), and paste in the commit message to the descriptions. Clean up the message and add screenshots / videos as needed to make it look good. Do the following additions to make the release notes look nice:
- You can find past release notes by doing
for i in {161..173}; do git log-message snapshot-$i > release-$i.md; done
andfor i in {174..180}; do git log-message release-$i > release-$i.md; done
- For interesting changes in Vim to include in release notes, see Interesting changes to include for release notes.
- Wrap the "Compatibility" section under a
<details><summary>Compatibility</summary> ... </details>
block so they don't waste space. - Put the following download badge near the top (replace "176" with the current release number):
[![MacVim release-176 download](https://img.shields.io/github/downloads/macvim-dev/macvim/release-176/MacVim.dmg?label=macOS%2010.13%2B)](https://github.com/macvim-dev/macvim/releases/download/release-176/MacVim.dmg) [![MacVim release-176 download (10.9-10.12)](https://img.shields.io/github/downloads/macvim-dev/macvim/release-176/MacVim_10.9.dmg?label=macOS%2010.9-10.12)](https://github.com/macvim-dev/macvim/releases/download/release-176/MacVim_10.9.dmg)
- You can find past release notes by doing
-
GitHub Actions CI will create an artifact under the tag. Download it, sign / notarize the app, and upload the dmg to the release.
-
Once the release is in a good shape, do
git push origin
to push the commit to master itself. After doing this you should not change anything in the release anymore. If a regression happens, just push a new release to revert the change. -
Update Sparkle's appcast xml file so updater will start pointing to the release.