Difference between revisions of "Release Checklist"

From Mudlet
Jump to navigation Jump to search
m
(38 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Mudlet release checklist =
 
= Mudlet release checklist =
# ☐ ensure windows, mac, linux generic installers and the ubuntu ppa are good to go
+
# 5 days before the release
# ☐ go through every single commit and ensure all new functionality is documented
+
## ☐ announce start of testing in Discord channel #mudlet-testing (add template text here), and link to latest download builds (from [https://make.mudlet.org/snapshots Latest Branch Snapshots], but double check that sha matches [https://github.com/Mudlet/Mudlet/commits/development the latest commit])
# ☐ update http://www.mudlet.org/geyser/files/index.html (need to document how to upload)
+
## ☐ update <code>mudlet.ts</code> with the latest translations strings for translators to translate (using Qt 5.12.2+ <code>lupdate -verbose -recursive ./src ./3rdparty/dblsqd/dblsqd ./3rdparty/edbee-lib/edbee-lib -ts ./translations/mudlet.ts</code>)
# ☐ update built-in packages and scripts
+
## ☐ update <code>mudlet_en_US.ts</code> with the latest translation strings, translate/update the few plural forms it contains as necessary and then generate the binary translation <code>mudlet_en_US.qm</code> file and merge it into the repo (see [https://wiki.mudlet.org/w/Translating_Mudlet#English_.28American.29_translation Translating Mudlet - English (American) translation]).
# ☐ update edbee to latest
+
## ☐ merge outstanding approved pull requests
# ☐ go through every single commit and write up a newspost with the latest highlights
+
## ☐ create a new <code>release-<version></code> branch off <code>development</code>
# ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in development branch
+
## ☐ go through every single commit (in main repo and isntallers) and ensure all new functionality is documented
# ☐ tag in git (release process starts here)
+
## ☐ update http://www.mudlet.org/geyser/files/index.html (need to document how to upload)
# ☐ merge latest development to master branch
+
## ☐ update built-in packages and scripts
# ☐ make windows installer
+
## ☐ update edbee to latest
# ☐ make linux installers
+
## ☐ go through every single commit and write up a newspost with the latest highlights
# ☐ update Ubuntu PPA
+
# on release day
# ☐ reset BUILD in development branch to be -dev
+
## ☐ create a new release in dblsqd
# ☐ test that all binaries launch and work
+
## ☐ merge latest translations from Crowdin
# ☐ close github milestone
+
## ☐ merge [[Update_lua_function_list|latest autocomplete json]]
# ☐ post news on mudlet.org
+
## ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in release branch (release process starts here)
# ☐ post news to https://launchpad.net/mudlet
+
## ☐ tag in git
# ☐ make a proper github release
+
## ☐ reset BUILD in release branch to be -dev
# ☐ post thread on forums.mudlet.org
+
## ☐ test that all binaries launch and work
# ☐ post update on achaea, lusternia, imperian, dsl-mud.org, mudconnect.com, topmudsites.com forums, [http://linux.softpedia.com/get/GAMES-ENTERTAINMENT/MUD/Mudlet-45973.shtml softpedia]
+
## ☐ close github milestone
# ☐ post update on twitter, reddit, http://arkadia.rpg.pl, torilmud
+
## ☐ [[Howto:Update Downloads|update downloads on mudlet.org]]
# ☐ update Linux distro maintainers, flag package outdated on arch (release process ends here)
+
## ☐ post news on mudlet.org - [https://github.com/Mudlet/Mudlet/issues/2550 for all languages]:
 +
### Select English news and "Duplicate this". Repeat these steps for every target language.
 +
### In right-hand side "Languages" tab, change language from English to German. Page will reload. Then write name of English post in the English box. Suggestions will appear. Click the original post to confirm. Translations are now linked. In the end, all languages should be interlinked.
 +
## ☐ Create Quick Redirect like mudlet.org/3-23
 +
## ☐ post news to https://launchpad.net/mudlet
 +
## ☐ make a proper github release (use [http://domchristie.github.io/turndown/ turndown] to convert release post html to markdown)
 +
## ☐ post thread on forums.mudlet.org
 +
## ☐ post update on achaea, starmourn, imperian, topmudsites.com forums, [http://linux.softpedia.com/get/GAMES-ENTERTAINMENT/MUD/Mudlet-45973.shtml softpedia]
 +
## ☐ post update on twitter, mud.social, reddit, http://arkadia.rpg.pl, torilmud, muder.ru
 +
## ☐ email to releaseradar@github.com about the update
 +
## ☐ submit mudlet windows installer to avg and avast whitelisting
 +
## ☐ merge <code>development</code> into <code>master</code> branch
 +
## ☐ update Linux distro maintainers, flag package outdated on arch (release process ends here)
 +
## ☐ merge, don't squash or rebase, the release branch into development (but don't delete, keep it around for a potential hotfix if needed)
  
= Post 3.0 checklist =
+
= Individual contributor TODOs =
# ☑ merge release_30 into development and remove the branch (see https://github.com/Mudlet/Mudlet/pull/367 for some period discussion): http://wiki.mudlet.org/w/The_Merge
+
* keneanung: https://github.com/users/keneanung/projects/1
# ☑ migrate the project from launchpad.net to github.com (help wanted)
 
# ☑ merge release_31 into development and remove the branch: http://wiki.mudlet.org/w/The_Merge
 
# ☑ move vadi2/mudlet-lua into main tree (https://github.com/Mudlet/Mudlet/pull/832)
 
# apply clang-format to all files
 
# enforce clang-format on commit & pr acceptance
 
# upgrade mudlet.org linode image (help wanted)
 
# in general, 4.0 is about i18n support - but as always, feel free to work on whatever interests you
 
# (From SlySven): unify exit "directions" into single QPair<quint8,QString> item {Existing DirCodeNumber + 13 for special exits, QString() for normal/QString("special exit name") for special exits} - makes it possible to streamline TRoom class and helps for I18n as we can drop NLS {Native Language Support} strings in for directions 1-12 if needed...!
 
# (From SlySven): Revamp 2D mapper:   
 
#* use "stub" out to 0.5x inter-room distance for all actual orthogonal/diagonal exits and draw exit lines from end of there to corresponding opposite exit in destination room (if present)/reverse exit in destination room (otherwise)/center of exit room (fallback).  Choosing to call this "Z" exits to reflect east exit from one room going to west exit in second room where the first room is north of the second.
 
#* add drawing support for doors on stub exits/custom lines
 
#* add stub special exits (for those odd exits which you do no yet know where they go) together with room indications for (at least) one of such things being present and also indication of a special exit without a custom exit line representation (again to show presence of such a thing).
 
# (From SlySven): Revamp 3D mapper:
 
#* port away from deprecated QGLWidget usage (it'll cause us less [https://bugreports.qt.io/browse/QTBUG-39210?focusedCommentId=267859&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-267859 issues on mac] too)
 
#* rewrite code to use modern (indirect) OpenGL 3.0+ - would be needed to port to OpenGLES (e.g. Raspberry Pi) platforms anyway.
 
#* generally clean up the 3D paintGL() code - it is rather messy at present with redundant/ineffective calls.
 
  
= Individual contributor TODOs =
+
[[Category: Mudlet Admin Manual]]
https://gist.github.com/keneanung/0d8def8454c912f28842d3749ad65f00
 
https://gist.github.com/vadi2/1fb249c48dead71b9641f840622e8495
 

Revision as of 11:32, 11 November 2019

Mudlet release checklist

  1. 5 days before the release
    1. ☐ announce start of testing in Discord channel #mudlet-testing (add template text here), and link to latest download builds (from Latest Branch Snapshots, but double check that sha matches the latest commit)
    2. ☐ update mudlet.ts with the latest translations strings for translators to translate (using Qt 5.12.2+ lupdate -verbose -recursive ./src ./3rdparty/dblsqd/dblsqd ./3rdparty/edbee-lib/edbee-lib -ts ./translations/mudlet.ts)
    3. ☐ update mudlet_en_US.ts with the latest translation strings, translate/update the few plural forms it contains as necessary and then generate the binary translation mudlet_en_US.qm file and merge it into the repo (see Translating Mudlet - English (American) translation).
    4. ☐ merge outstanding approved pull requests
    5. ☐ create a new release-<version> branch off development
    6. ☐ go through every single commit (in main repo and isntallers) and ensure all new functionality is documented
    7. ☐ update http://www.mudlet.org/geyser/files/index.html (need to document how to upload)
    8. ☐ update built-in packages and scripts
    9. ☐ update edbee to latest
    10. ☐ go through every single commit and write up a newspost with the latest highlights
  2. on release day
    1. ☐ create a new release in dblsqd
    2. ☐ merge latest translations from Crowdin
    3. ☐ merge latest autocomplete json
    4. ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in release branch (release process starts here)
    5. ☐ tag in git
    6. ☐ reset BUILD in release branch to be -dev
    7. ☐ test that all binaries launch and work
    8. ☐ close github milestone
    9. update downloads on mudlet.org
    10. ☐ post news on mudlet.org - for all languages:
      1. Select English news and "Duplicate this". Repeat these steps for every target language.
      2. In right-hand side "Languages" tab, change language from English to German. Page will reload. Then write name of English post in the English box. Suggestions will appear. Click the original post to confirm. Translations are now linked. In the end, all languages should be interlinked.
    11. ☐ Create Quick Redirect like mudlet.org/3-23
    12. ☐ post news to https://launchpad.net/mudlet
    13. ☐ make a proper github release (use turndown to convert release post html to markdown)
    14. ☐ post thread on forums.mudlet.org
    15. ☐ post update on achaea, starmourn, imperian, topmudsites.com forums, softpedia
    16. ☐ post update on twitter, mud.social, reddit, http://arkadia.rpg.pl, torilmud, muder.ru
    17. ☐ email to releaseradar@github.com about the update
    18. ☐ submit mudlet windows installer to avg and avast whitelisting
    19. ☐ merge development into master branch
    20. ☐ update Linux distro maintainers, flag package outdated on arch (release process ends here)
    21. ☐ merge, don't squash or rebase, the release branch into development (but don't delete, keep it around for a potential hotfix if needed)

Individual contributor TODOs