Making a release
This details the release process of pioneer, written for the developer team, as the process tends to only be an annual one, and the knowledge of how it's best done is distributed over many individuals, which can be a show stopper. (It's based upon #4788)
(For players, we recommend those who are able to compile the game from master, to get and try the latest features, and help report bugs.)
Contents
Make a release
Pioneer is in continuous development, and technically, has never had any hardened "stable" releases. However, we aim to make a periodic release that bundles many new features and that has undergone a feature-freeze to find bugs, prior its release.
Due to tradition, we try to not let it be more than one year between each official release. Happenstance has made that date be February 3rd each year. (Possibly, pi-day would be more suited?)
Prepare
- In the weeks leading up the release date, finish up pull requests, merge them and then focus on ironing out bugs from these, and other.
- Announce to translators on Transifex that we have a release incoming, and deadline for getting new translations included with it. (Possibly also tweet it). (devs with transifex-access: impaktor, robn, jpab, ecraven).
- Start a draft release, summarize the major changes since last build from Changelog.txt, from player's perspective, and noticeable bug-fixes.
Publish Release
- Make sure your master is in sync with upstream:
git fetch --all -p git rebase upstream/master
- Create a tag (format: YYYYMMDD) to latest commit, and push it:
git tag YYYYMMDD git push upstream YYYYMMDD
(avoid "git push --tags", as it will push all tags)
- Link the draft release to the newly pushed tag
- Publish draft. Github will now:
- Attach the source code of that tag, both as zip and tar.gz
- (after some time) attach a windows build artifact and a linux one. Rename them to:
pioneer-YYYYMMDD-linuz.tar.gz pioneer-YYYYMMDD-win.exe
Once this is done, share the link to the github release page.
After Release
Spread the word
Link the github release from:
- pioneerspacesim.net (ecraven, (robn))
- tweet it (impaktor and robn)
- reddit it (Nozmajner)
- discord (sturnclaw, Nozmajner, wkfo)
- SSC (anyone)
- Youtube community post (Nozmajner, sturnclaw, Gliese852, fluffyfreak, wkfo)
Upload to
Beside linking, we also need to build/repackage for:
- flatpak (pcercuei)
- Update the recipe like so.
- Web download to Install for 32-bit or 64-bit x86 (Linux?) system.
- Direct download-link to share
- itch it (wkfo, Nozmajner, FluffyFreak, ElonSatoshi)
- sourceforge (fluffyfreak)
- For a long time, this was our main/only host for builds, (we're still getting some downloads from here)
Future
Below are things we're currently not doing, but would perhaps be good to do (again):
- debian package? (guide) (laarmen)
- moddb? (geraldine / miggy4000 )
- OSX build (salborrelli and/or Philbywhizz), however, currently, pioneer's code base doesn't support OSX, due to lack of developers for that system.
Monitor downloads
Are people downloading it?
- Itch tracs its own downloads
- Sourceforge has public download stats
- Github downloads are available from the API:
curl -s https://api.github.com/repos/pioneerspacesim/pioneer/releases | egrep '"name"|"download_count"'
TODO
Stuff left to masterfully weav into this wiki:
- What's the status of Appveyor? pcercuei and fluffyfreak (and impaktor?) are main responsible for it. Is this still how we get our windows
builds?