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