Difference between revisions of "Making a release"

From PioneerWiki
Jump to: navigation, search
(Replaced content with "Page moved to: https://dev.pioneerspacesim.net/contribute/making-a-release")
(Tag: Replaced)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This details the release process of pioneer, written for the developer team, as the process tends
+
Page moved to: https://dev.pioneerspacesim.net/contribute/making-a-release
to only be an annual one, and the knowledge of how it's best done is distributed over many
 
individuals, which can be a [https://github.com/pioneerspacesim/pioneer/issues/4496 show stopper].
 
(It's based upon [https://github.com/pioneerspacesim/pioneer/issues/4788 #4788])
 
 
 
(For players, we recommend those who are able to [https://pioneerwiki.com/wiki/FAQ#Build_from_source compile the game]
 
from master, to get and try the latest features, and help report bugs.)
 
 
 
== 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.
 
[https://github.com/pioneerspacesim/pioneer/issues/4496#issuecomment-459761900 Happenstance] has
 
made that date be February 3rd each year. (Possibly, [https://en.wikipedia.org/wiki/Pi_Day 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 [https://www.transifex.com/pioneer/pioneer/announcements/ 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 [https://github.com/pioneerspacesim/pioneer/releases draft release], summarize the major changes since last build from [https://github.com/pioneerspacesim/pioneer/blob/master/Changelog.txt 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:
 
* [https://pioneerspacesim.net/page/download/ pioneerspacesim.net] (ecraven, (robn))
 
* [https://twitter.com/pioneerspacesim/status/1224399814483480576 tweet] it (impaktor and robn)
 
* [https://www.reddit.com/r/pioneerspacesim reddit] it (Nozmajner)
 
* [https://discord.gg/RQQe3A7 discord] (sturnclaw, Nozmajner, wkfo)
 
* [http://spacesimcentral.com/community/pioneer/ SSC] (anyone)
 
* [https://www.youtube.com/channel/UCbFD5Oxc1C9zxqnF4OitGjQ Youtube] community post (Nozmajner, sturnclaw, Gliese852, fluffyfreak, wkfo)
 
 
 
=== Upload to ===
 
Beside linking, we also need to build/repackage for:
 
 
 
* [https://github.com/flathub/net.pioneerspacesim.Pioneer/ flatpak] (pcercuei)
 
** Update the [https://github.com/flathub/net.pioneerspacesim.Pioneer/blob/master/net.pioneerspacesim.Pioneer.json recipe] like [https://github.com/flathub/net.pioneerspacesim.Pioneer/pull/4 so].
 
** Web download to [https://flathub.org/apps/details/net.pioneerspacesim.Pioneer Install] for 32-bit or 64-bit x86 (Linux?) system.
 
** Direct [https://flathub.org/repo/appstream/net.pioneerspacesim.Pioneer.flatpakref download-link] to share
 
* [https://pioneerspacesim.itch.io/pioneer itch] it (wkfo, Nozmajner, FluffyFreak, [https://github.com/pioneerspacesim/pioneer/issues/4733 ElonSatoshi])
 
* [https://sourceforge.net/projects/pioneerspacesim/files/ 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? ([https://www.internalpointers.com/post/build-binary-deb-package-practical-guide guide]) (laarmen)
 
* [https://www.moddb.com/games/pioneer/downloads moddb]? ([https://spacesimcentral.com/community/profile/geraldine/ geraldine] / [https://www.moddb.com/members/miggy4000 miggy4000] )
 
* OSX build ([https://github.com/salborrelli salborrelli] and/or [https://github.com/Philbywhizz 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 [https://api.github.com/repos/pioneerspacesim/pioneer/releases 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 [https://ci.appveyor.com/project/pioneerspacesim/pioneer Appveyor]? pcercuei and fluffyfreak (and impaktor?) are main responsible for it. Is this still how we get our windows
 
builds?
 
* say something about github build [https://github.com/pioneerspacesim/pioneer/tree/master/.github/workflows pipeline] configuration?
 
* Something about our [https://github.com/pioneerspacesim/pioneer/tree/master/scripts scripts]?
 
* what's [https://github.com/pioneerspacesim/pioneer/tree/master/CI/appveyor this?]
 

Latest revision as of 18:26, 7 February 2023