-
Notifications
You must be signed in to change notification settings - Fork 199
Releasing
Jack Greiner edited this page Apr 28, 2024
·
22 revisions
- Ensure translations are up to date. (
meson compile naev-pot
, commit, push, let Weblate do its thing.) - Ahead of a major release: log into Weblate, navigate to "Manage"/"Post Announcement" in the (lower) menu bar, and give the translators advance notice.
- Communication: have the CHANGELOG ready, have a blarg post staged in naev-website:upcoming. Update content/downloads.md as well.
- Make sure that the update (
dat/events/updater.lua
) triggers on the correct versions and update script as necessary. - Commit an update to meson.build which bumps the project version.
- In case of a stable release, push an update to
org.naev.naev.metainfo.xml
.
git tag v0.X.0-beta.1
git push origin v0.X.0-beta.1
Watch the workflow run:
- Delete the created release on the Github releases page
- Retag the release
# Delete local tag (if you have it) git tag -d v0.X.0-beta.1 # Push deletion git push origin :refs/tags/v0.X.0-beta.1 # Retag locally git tag v0.X.0-beta.1 # Push tag git push origin v0.X.0-beta.1
Merge naev-website:upcoming to main and push. The website should update.
- Visit the SteamWorks builds page.
- Create a new app branch if one does not exist, for the current patch series (e.g. '0.11.x').
- Take note of the build number that is currently on the default branch.
- Update the 'previous' branch with the current build on the default branch.
- If releasing a new version series (e.g. 0.12.0 from 0.11.x) make sure the previous version branch (e.g. 0.11.x) is set to the same build as the default branch, that branch will host the last patch for that version series.
- Update the default branch to the newly pushed build.
- Workflows aren't allowed to touch the default branch, so this step is manual.
- Visit the SteamWorks builds page.
- Update the default branch to the newly pushed build.
- Workflows aren't allowed to touch the default branch, so this step is manual.
- Visit the SteamWorks landing page
- Navigate to
Community & Moderation
,Post/Manage Events & Announcements
, and clone/edit the appropriate template in theDrafts (hidden, unpublished)
section.- Follow the instructions in the template.
- You should be able to import HTML from the website.
- Ensure you link the announcement with the current build that is being announced
- The
beta
branch for pre-release announcements - The
default
branch for stable release announcements.
- The
- Visit the itch.io devlog page.
- Can be done through the Itch client as well.
- Write a new post.
- Make sure the right files are attached to the devlog post
- This should be the release artefacts for Linux, macOS and Windows (and the soundtrack for stable releases.)
- Send an announcement in the #announcements channel letting people know a new release is available.
It's almost immediately useful to have a git branch for the new release series, in case bug fixes need to be backported, and also to have Weblate backport translation updates where possible. So:
- Push a branch based off the released version (e.g.,
git checkout -b 0.10.x v0.10.0 && git push -u origin 0.10.x
). - Sign into Weblate and do a manual VC update. (Follow link and press the "Update" button, so Weblate notices the new branch.)
- Create a new component. Use the "Additional branch" tab to (e.g.) create "Naev-0.10.x" based on existing "Naev-0.9.x" using branch "0.10.x".
- The operation takes a long time, and you may need to force-refresh the progress page. When the operation is done, it will show a checklist rather than a log.
- From the new project's page, use the
Manage
>Add-ons
menu option to addUpdate LINGUAS file
andUpdate PO files to match POT (msgmerge)
. - Set up a Webhook to notify Weblate of repo activity. This may be a privileged operation only bobbens can do.
- Navigate to the previous release's project and, assuming it's time, use the
Manage
>Removal
menu option to delete it.
It's time to celebrate with pineapple pizza, Naev's official party food.
Lore is being removed from the Wiki and moved into docs/manual/lore/.