From 45aade78b381a53989d2f0c8491ea9f95652295d Mon Sep 17 00:00:00 2001 From: Jaka Kranjc <lynxlupodian@users.sourceforge.net> Date: Sun, 1 Dec 2019 16:19:34 +0100 Subject: [PATCH] merged the missing bits of Release.md into github_release.checklist --- CONTRIBUTING.md | 2 +- admin/github_release.checklist | 48 +++++++++++++------ gemrb/docs/en/Release.md | 87 ---------------------------------- 3 files changed, 35 insertions(+), 102 deletions(-) delete mode 100644 gemrb/docs/en/Release.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d1ff45c71a..af9df4f786 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -158,7 +158,7 @@ All of this makes reviewing and bisecting for regressions easier. 1. Squash merge only if the history is a mess or it makes more sense (eg. consecutive commits through the github website). -2. For release planning check the milestones and gemrb/docs/Release.txt. +2. For release planning check the milestones and any pending pull requests. 2.1. When starting the final approach, use `admin/github_release.checklist` as a template to track progress in a dedicated issue. 3. Releases are usually made when larger pieces of work land or many smaller diff --git a/admin/github_release.checklist b/admin/github_release.checklist index 30eef9ea07..1ef6a9c757 100644 --- a/admin/github_release.checklist +++ b/admin/github_release.checklist @@ -1,7 +1,7 @@ ### Release checklist -This is a general release preparation checklist. -See [Release.md](https://github.com/gemrb/gemrb/blob/master/gemrb/docs/en/Release.md) for a longer writeup. +This is a general release preparation checklist to be used in the final stages of preparing +a new release. Copy it to a new issue on the GitHub tracker and the syntax will suddenly make sense. Final development: - [ ] Fix or postpone issues in the [milestone](https://github.com/gemrb/gemrb/milestones) @@ -16,24 +16,44 @@ Beta testing: - [ ] Retest character generation of remaining games Release: -- [ ] Finalise choice of version number -- [ ] Update both version numbers +- [ ] Finalise choice of version number, eg. v1.2.3 +- [ ] Update version number in `gemrb/includes/globals.h` and `configure.in` - [ ] Final `NEWS` update -- [ ] Write docs: - - [ ] Forum announcements - - [ ] Release notes - [ ] Amend Roadmap in contributing.md -- [ ] `make dist` +- [ ] Create the source tarball with `make dist` + - [ ] Add any missing files to the cmake install targets and recreate the tarball + - [ ] Add any new extraneus files to `.gitattributes` and recreate + - [ ] Build it and run the minimal test or more: `gemrb/gemrb -c ../gemrb/GemRB.cfg.noinstall.sample` - [ ] Add a git tag and push it -- [ ] Run `admin/guidoc_wikifier.sh` (no params needed) and upload the new docs + ``` + ver=0.8.2 + git tag -a -m "GemRB $ver" v$ver + git push origin v$ver + ``` + +Deployment: - [ ] Promote the new tag to a release on GitHub -- [ ] Update versions back to `-git` suffix -- [ ] `admin/restart_news.sh` +- [ ] Write docs: + - [ ] Forum announcements + - [ ] Release notes if needed (configuration changes, notes for packagers) - [ ] SourceForge - [ ] Upload source package to SourceForge - [ ] Upload any release notes alongside - - [ ] Mark release's AppVeyor build as a Windows default on SourceForge - - [ ] (optional) regenerate android build + - [ ] Mark release's AppVeyor build as a Windows default on SourceForge and source for everyone else + - [ ] (optional) regenerate android build - [ ] Test downloads - [ ] Runtime tests of release packages -- [ ] Announce as per Release.md +- [ ] Announce on + - [ ] homepage: sidebar (versions and news), news, start (version), changelog (status + and log swap), old_changelogs + - [ ] Gibberlings3 forums + - [ ] GemRB forum + - [ ] modding news (a template is available in `admin/announcement.template`) + - [ ] SourceForge project page news section + - [ ] #GemRB in channel and title + - [ ] Discord channel + +Post-release: +- [ ] Run `admin/guidoc_wikifier.sh` (no params needed) and upload the new docs +- [ ] Update versions back to the `-git` suffix +- [ ] Run `admin/restart_news.sh` to restart the NEWS cycle diff --git a/gemrb/docs/en/Release.md b/gemrb/docs/en/Release.md deleted file mode 100644 index f6365a1a16..0000000000 --- a/gemrb/docs/en/Release.md +++ /dev/null @@ -1,87 +0,0 @@ -How to make a release -********************* - -Cleanup and pre-testing -======================= -Check if there are any open patches, pull requests or important stashes -laying around. Engage, triage and finalize/delay. It sucks to be waiting -for feedback too long, especially if you're an outsider. - -Ideally make a speed run through one of the games to find any regressions. -BG2 intro area and TOB up to Saradush will test a lot of subsystems in a -short time. - -Fix, revert or delay the release as needed. - -Preparing and testing GIT -========================= - -* Make sure that version numbers are correct for the upcoming version: - * configure.in - * gemrb/includes/globals.h - -* Update NEWS with highlights since the last release - -* Make distribution .tar.gz (see Source release below) and test it - - make sure all needed files are included - - the minimal test should not fail: - `gemrb/gemrb -c ../gemrb/GemRB.cfg.noinstall.sample` - -* Tag current GIT to version number e.g. v0.9.0 - i.e. in the gemrb root directory do -``` - ver=0.8.2 - git tag -a -m "GemRB $ver" v$ver - git push origin v$ver -``` - -* After you're done, update the version with a -git suffix, so it will be - easier to tell if people are running release builds or not - -Source release -============== - -* via cmake/autotools (excludes useless files intentionally!): - `make dist` - -* via github (fallback): - if you've pushed the new tagged release already, github will have generated - a clean tarball for you at https://github.com/gemrb/gemrb/releases - -Binary releases -=============== -Check Travis and Appveyor build bots — the builds are automatically uploaded -to Sourceforge. Grab the commit hash and then mark the correct windows build -as the default download (see below). - -If there's time/interest, manually generate an android build. - -Release and Announcements -========================= - -* Write the release notes if necessary. They are mainly for packagers, so -create them if there are structural or build related changes. New config -options should also be mentioned here if they're not part of the changelog. - -* Put the tarballs/binaries into Releases on SF - - go to the Files section - - click on the sources subdir - - add a new similarly-named folder - - use "add file" to upload the sources and release notes - - change the file properties to set the default platforms (under "view details") - -* Test the downloads from sourceforge.net - -* Announce on SF, #GemRB in channel and title, Discord channel and Gibberlings3: - - our forum - - modding news (Lynx, Avenger, Mike1072, Theacefes, Grim Squeaker, DavidW and cmorgan have access) - (a template is available in `admin/announcement.template`) - - homepages: sidebar (versions and news), news, start (version), changelog (status - and log swap), old_changelogs - - github: go to the Releases tab and promote the new tag to a release, then add - a link to the release notes - -* Run `admin/restart_news.sh` to restart the NEWS cycle - -* Run `admin/guidoc_wikifier.sh` (no params needed) and upload the new docs - -- GitLab