LambdaHack
LambdaHack copied to clipboard
Release checklist
Last minute optional breaking changes:
- [ ] respond to Debian bug on Allure/freetype and create and old release with a workaround, for Allure and LH if possible
- [ ] profile and optimize any surprise regressions; detect any memory leaks via a
-hheap profile of a many-hour run - [ ] meld main LH and Allure content to make sure both are updated
- [ ] meld LH and Allure
GameDefinition/Client/UI/Contentcontent - [ ] meld
GameDefinition/code and config.ui files - [ ] check and release assert-failure (includes restrictive upper bounds checking)
- [ ] check and release minimorph
- [ ] check and release miniutter
- [ ] check and release sdl2-ttf
- [ ] check and release enummapset
- [ ] hlint (M-x haskell-check | hlint . | C-x `)
Last minute optional checks and tweaks:
- [ ] check that all ~/.LambdaHack files and dirs are created correctly in sdl Linux, Windows and browser and that old version files are moved away correctly
- [ ] check the convention about module hierarchies
- [ ] update keybindings and their descriptions in-game, in content, PLAYING and InGameHelp.txt
- [ ] update, meld, spellcheck .cabal
- [ ] update LH's README and Allure's PLAYING
- [later] spellcheck the above docs
- [later] meld the above docs and separately try all links
- [later] spellcheck content in LH
- [later] spellcheck content in Allure
- [later] spellcheck all remaining files and major texts in code
- [ ] and/or spellcheck the resulting binary using
lintian -I --pedantic(before updating the Debian package or after: https://lintian.debian.org/sources/haskell-lambdahack.html) - [ ] check that the screen reader friendly ANSI frontend works fine and cursor is visible
Testing:
- [ ] rebuild with
-fwith_expensive_assertions - [ ] run
make expose-loreand check map and item generation; runmake fastCrawlto completion and check item and actor counts - [ ] run the same with and without
--fontset 16x16xwand check main menu submenus, lore, item menu, help and game over lists - [ ] run
make dig-loreandmake short-cavesa few times and check place lore for rooms that are too uncommon - [ ] check Allure with
weeder - [later] test naively, like a newbie
- [ ] test crawl to see if stealth still important (e.g., enough foes sleep long enough) and initial loot amount is just right
- [ ] play all other normal game modes once in Allure
- [later] test all fontsets defined in config.ui
- [later] try each set of movement keys
- [ ] make sure the game is playable on a monochrome display (--frontendTeletype in small terminal)
- [later] try mouse-only gameplay
- [later] try each UI command key
- [later] try each challenge
- [later] try each non-default Main Menu setting once
- [later] test each major
config.uisetting once - [later] play each normal game mode once in LH
- [ ] review the output of CI tests for LH and Allure
- [ ] run each
make frontend*once in LH - [ ] run each
make frontend*once in Allure - [later] scan HPC data, catch borked boolean conditions and extend tests
- [later] run
make nodeBench - [later] test locally lambdahack.github.io
- [later] test locally allureofthestars.github.io/play
- [later] update with RC version and test lambdahack.github.io, in particular the minified js and fonts
- [later] the same with allureofthestars.github.io/play
- [later] test evilly so as to crash the game, based on release changelog
- [ ] generate history.txt and check for any obvious problems
Package:
- [ ] create new screenshots if needed
- [ ] update screenshots and blurbs at www.allureofthestars.com
- [ ] check that haddocks get generated and fix any warnings
- [ ] update changelog, add release codename, if any
- [ ] verify the main version number and the Allure dep on LH in .cabal are correct
- [ ] verify no dependencies are too strict
- [ ] cabal check; cabal sdist
- [ ] upload hackage candidates
- [ ] create a draft of the github release
- [ ] flesh out the github release, copy the changelog
- [ ] build, test and upload amd64 Ubuntu binaries
- [ ] build, test and upload i386 and amd64 Wingdows binaries
- [ ] build, test and upload Android, iOS and other binaries
- [later] update with final version and test lambdahack.github.io
- [later] the same with allureofthestars.github.io/play
- [ ] publish the github release, which also creates a tag
- [ ] publish hackage candidates as the official releases
- [ ] update https://github.com/Homebrew/homebrew-core if needed
Announce (and sometimes upload screenshots or packages or update their links):
- [ ] www.roguebasin.com --- New Roguelike Releases
- [ ] www.roguebasin.com/index.php?title=Recently_Updated_Roguelikes
- [ ] www.roguebasin.com/index.php?title=LambdaHack
- [ ] www.roguebasin.com/index.php?title=Allure_of_the_Stars
- [ ] https://man-of-letters.itch.io/lambdahack
- [ ] https://man-of-letters.itch.io/allureofthestars
- [ ] https://itch.io/board/10022/release-announcements or the devlog
- [ ] https://libregamewiki.org/LambdaHack
- [ ] https://libregamewiki.org/Allure_of_the_Stars
- [ ] http://www.indiedb.com/engines/lambdahack
- [ ] http://www.indiedb.com/games/allureofthestars
- [ ] @AllureRoguelike twitter account
- [ ] possibly post a screenshot or video (not a link) with #screenshotsaturday hashtag on Twitter
- [ ] post on reddit (roguelikedev and/or haskellgamedev) and Discord/Matrix
Supervise:
- [ ] if the haddocs don't build, upload them
- [ ] https://matrix.hackage.haskell.org/package/LambdaHack
- [ ] https://matrix.hackage.haskell.org/package/Allure
- [ ] https://formulae.brew.sh/formula/allureofthestars
- [ ] http://hydra.nixos.org/search?query=LambdaHack
- [ ] http://hydra.nixos.org/search?query=Allure
- [ ] https://tracker.debian.org/pkg/haskell-lambdahack
- [ ] https://tracker.debian.org/pkg/allure
- [ ] https://blends.debian.org/games/tasks/rogue
Cool down:
- [ ] bump version for development
- [ ] review and close github issues, open new standalone tasks
- [ ] update the github wikis at leisure