Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document release steps #40

Open
19 tasks
jakoch opened this issue Nov 5, 2016 · 0 comments
Open
19 tasks

document release steps #40

jakoch opened this issue Nov 5, 2016 · 0 comments

Comments

@jakoch
Copy link
Member

jakoch commented Nov 5, 2016

Let's try to assemble and refine the steps for doing a release of Fifechan.

We need this document, because maintainers might change and we need to transfer the knowledge of "how to do a release properly" to the next person having the maintainer role.
In the end, it should from a checklist guide for the maintainer.

The content of this ticket is later moved into the developer manual.


Fifechan Release Steps

Release Requirements

  • you need to be maintainer (with push-access to the repository)
  • you need to have access to Travis and Appveyor
    • so that you can delete and re-trigger builds manually, when things go bust, while building and releasing automatically
  • the auth keys tokens of CI services must be update to date

Release Preparation

  • pick new version number
  • update to new version number
  • update AUTHORS
  • update CHANGELOG
    • roll changelog data from the "unreleased" section to the new version number section
    • link the new header (by adding a new reference at the end of the changelog)
    • fix link to unreleased (by updating the old version number with the new version number)
  • git commit + git push - add changes until everything is updated and ready
  • pick release commit
    • this is the golden commit = the base for the release tag
    • check that the commit message doesn't contain [skip ci]
    • check that the builds of this commit are all green on CI services

Release

  • git tag -a <tagname=version> <git-hash of release commit>
    • e.g. git tag -a 1.2.3 9fceb02: you are tagging the commit 9fceb02 as version 1.2.3.
  • git push origin <tagname=version>
    • e.g. git push origin 1.2.3: this pushes the single tag "0.1.3" to "origin"
  • wait for CI services to complete the build
  • wait for CI services to deploy the release to Github Releases

Note: If things go bust, delete the tags locally and then manually via the Github Interface, before you try to release the same tag.

Post Release

  • announce new release in IRC
@jakoch jakoch closed this as completed Jan 14, 2017
@jakoch jakoch reopened this Jan 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant