Difference between revisions of "Release Checklist"

From Mudlet
Jump to navigation Jump to search
(Add manual dblsqd link instructions)
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Mudlet release checklist =
 
= Mudlet release checklist =
# 5 days before the release
+
# 5 days before the release
# ☐ update <code>mudlet.ts</code> with the latest translations strings
+
## ☐ 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])
# ☐ create a new <code>release-<version></code> branch off <code>development</code>
+
## ☐ [automated] 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>)
# ☐ go through every single commit and ensure all new functionality is documented
+
## ☐ 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 http://www.mudlet.org/geyser/files/index.html (need to document how to upload)
+
## ☐ merge outstanding approved pull requests
# ☐ update built-in packages and scripts
+
## ☐ create a new <code>release-<version></code> branch off <code>development</code>
# ☐ update edbee to latest
+
## ☐ go through every single commit (in main repo and installers) and ensure all new functionality is documented
# ☐ go through every single commit and write up a newspost with the latest highlights
+
## ☐ update http://www.mudlet.org/geyser/files/index.html (need to document how to upload)
# on release day
+
## ☐ update built-in packages and scripts
# ☐ create a new release in dblsqd
+
## ☐ update edbee to latest in our fork, and the subsequent submodule
# ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in development branch (release process starts here)
+
## ☐ update Patreon supporters in About tab
# ☐ tag in git
+
## ☐ go through every single commit and write up a newspost with the latest highlights
# ☐ reset BUILD in development branch to be -dev
+
# on release day
# ☐ test that all binaries launch and work
+
## ☐ create Quick Redirect like mudlet.org/3-23 (see left-hand side in Wordpress).
# ☐ close github milestone
+
## ☐ create a new release in the 'release' channel in [https://www.dblsqd.com/user/apps/30a30c47-b1cd-48fe-b93e-ab9041b88323 dblsqd]. Make sure to enter the changelog right away, as it cannot be edited after. Include the full version number and a link to the release post ([[Media:Creating_a_new_Mudlet_release.png|example]]). A command-line variant of this is: <code>dblsqd release -a mudlet -c release -m "<message>. <a href="https://mudlet.org/4-##">See the changelog</a>." <version, ie 4.11.0></code>
# ☐ post news on mudlet.org
+
## ☐ merge latest translations from Crowdin
# ☐ post news to https://launchpad.net/mudlet
+
## ☐ merge [[Update_lua_function_list|latest autocomplete json]]
# ☐ make a proper github release
+
## ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in release branch (release process starts here)
# ☐ post thread on forums.mudlet.org
+
## ☐ tag in git
# ☐ 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]
+
## ☐ reset BUILD in release branch to be -dev
# ☐ post update on twitter, mud.social, reddit, http://arkadia.rpg.pl, torilmud, muder.ru
+
## ☐ wait for the builds to complete...
# ☐ submit mudlet windows installer to avg and avast whitelisting
+
## ☐ manually upload artifacts to https://www.mudlet.org/wp-content/files/?C=M;O=D through webmin
# ☐ merge release branch into <code<development</code>
+
## ☐ manually link uploaded artifacts to dblsqd[1]:
# ☐ merge <code>development</code> into <code>master</code> branch
+
## ☐ test that all binaries launch and work
# ☐ update Linux distro maintainers, flag package outdated on arch (release process ends here)
+
## ☐ close github milestone
 +
## ☐ [[Howto:Update Downloads|update downloads on mudlet.org]]
 +
## ☐ 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 [[Media:Show language selector.png|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.
 +
## ☐ 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, [https://chocolatey.org/packages/mudlet/ContactOwners Chocolatey maintainer], 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). Do it right away so next day's PTB's versions is the new release.
 +
 
 +
 
 +
[1]:
 +
 
 +
  dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach linux:x86_64 "https://www.mudlet.org/wp-content/files/Mudlet-<release>-linux-x64.AppImage.tar"
 +
  dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach mac:x86_64 "https://www.mudlet.org/wp-content/files/Mudlet-<release>.dmg"
 +
  dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach win:x86 "https://www.mudlet.org/wp-content/files/Mudlet-<release>-windows-installer.exe"
 +
 
  
 
= Individual contributor TODOs =
 
= Individual contributor TODOs =
https://gist.github.com/keneanung/0d8def8454c912f28842d3749ad65f00
+
* keneanung: https://github.com/users/keneanung/projects/1
https://gist.github.com/vadi2/1fb249c48dead71b9641f840622e8495
+
* vadi2: https://gist.github.com/vadi2/c4dd137010c1b969c011293eddfcee73
 +
 
 +
[[Category: Mudlet Admin Manual]]

Revision as of 06:37, 24 April 2021

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. ☐ [automated] 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 installers) 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 in our fork, and the subsequent submodule
    10. ☐ update Patreon supporters in About tab
    11. ☐ go through every single commit and write up a newspost with the latest highlights
  2. on release day
    1. ☐ create Quick Redirect like mudlet.org/3-23 (see left-hand side in Wordpress).
    2. ☐ create a new release in the 'release' channel in dblsqd. Make sure to enter the changelog right away, as it cannot be edited after. Include the full version number and a link to the release post (example). A command-line variant of this is: dblsqd release -a mudlet -c release -m "<message>. <a href="https://mudlet.org/4-##">See the changelog</a>." <version, ie 4.11.0>
    3. ☐ merge latest translations from Crowdin
    4. ☐ merge latest autocomplete json
    5. ☐ update mudlet.pro and CMakeLists.txt to new version and strip out BUILD to be empty in release branch (release process starts here)
    6. ☐ tag in git
    7. ☐ reset BUILD in release branch to be -dev
    8. ☐ wait for the builds to complete...
    9. ☐ manually upload artifacts to https://www.mudlet.org/wp-content/files/?C=M;O=D through webmin
    10. ☐ manually link uploaded artifacts to dblsqd[1]:
    11. ☐ test that all binaries launch and work
    12. ☐ close github milestone
    13. update downloads on mudlet.org
    14. ☐ 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.
    15. ☐ post news to https://launchpad.net/mudlet
    16. ☐ make a proper github release (use turndown to convert release post html to markdown)
    17. ☐ post thread on forums.mudlet.org
    18. ☐ post update on achaea, starmourn, imperian, topmudsites.com forums, softpedia
    19. ☐ post update on twitter, mud.social, reddit, http://arkadia.rpg.pl, torilmud, muder.ru
    20. ☐ email to releaseradar@github.com about the update
    21. ☐ submit mudlet windows installer to avg and avast whitelisting
    22. ☐ merge development into master branch
    23. ☐ update Linux distro maintainers, Chocolatey maintainer, flag package outdated on arch (release process ends here)
    24. ☐ merge, don't squash or rebase, the release branch into development (but don't delete, keep it around for a potential hotfix if needed). Do it right away so next day's PTB's versions is the new release.


[1]:

 dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach linux:x86_64 "https://www.mudlet.org/wp-content/files/Mudlet-<release>-linux-x64.AppImage.tar"
 dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach mac:x86_64 "https://www.mudlet.org/wp-content/files/Mudlet-<release>.dmg"
 dblsqd push -a mudlet -c release -r "<release>" -s mudlet --type "standalone" --attach win:x86 "https://www.mudlet.org/wp-content/files/Mudlet-<release>-windows-installer.exe"


Individual contributor TODOs