File: github_release.checklist

package info (click to toggle)
gemrb 0.9.0%2Bdfsg-1
  • links: PTS, VCS
  • area: contrib
  • in suites: bookworm
  • size: 20,168 kB
  • sloc: cpp: 127,105; python: 30,385; ansic: 2,526; objc: 733; sh: 315; java: 105; perl: 98; xml: 69; makefile: 5
file content (75 lines) | stat: -rw-r--r-- 3,242 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
### Release checklist

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)
- [ ] Triage open pull requests
- [ ] Check local stashes
- [ ] No Coverity Scan issues

Beta testing:
- [ ] Retest character generation of all games
- [ ] Playthrough: Chateau Irenicus to Waukeen's promenade
- [ ] Playthrough: TOB up to Saradush
- [ ] Playthrough: bg1 prologue
- [ ] Playthrough: iwd1 prologue
- [ ] Playthrough: pst to exit of Mortuary
- [ ] Ideally a full game runthrough of one of the compleatable games

Release:
- [ ] Finalise choice of version number, eg. v1.2.3
- [ ] Update version number in `gemrb/includes/globals.h`
- [ ] Final `NEWS` update
- [ ] Amend Roadmap in contributing.md
- [ ] Create the source tarball with `make dist`
  - [ ] Add any missing files to the cmake install targets and recreate the tarball
  - [ ] Add any new files from fetch-demo-data to the cmake dist target
  - [ ] Add any new extranoeus 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
    ```
        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
- [ ] Write docs (a template is available in `admin/announcement.template`):
  - [ ] Forum announcements
  - [ ] Release notes if needed (configuration changes, notes for packagers)
- [ ] SourceForge
  - [ ] Upload source package to SourceForge, maintaining the naming format under Releases
  - [ ] Upload any release notes alongside as Readme.md
  - [ ] Copy generated release builds into Release:
```sh
# run in SourceForge shell
version=0.9.0

cd /home/frs/project/gemrb/Buildbot\ Binaries
mkdir -p ../Releases/$version
cp Windows/AppVeyor/$(ls Windows/AppVeyor/ -1rt | tail -n1) ../Releases/$version/gemrb-win32-v$version.zip
cp Apple/OSX/$(ls Apple/OSX/ -1rt | tail -n) ../Releases/$version/gemrb-macos-v$version.tar.bz2
cp Linux/$(ls Linux/ -1rt | tail -n1) ../Releases/$version/gemrb-linux-v$version.AppImage
```

  - [ ] Mark release builds as OS defaults on SourceForge as appropriate; mark the source for everyone else
  - [ ] (optional) regenerate android build
  - [ ] Test downloads
- [ ] Runtime tests of release packages
- [ ] Announce on
  - [ ] homepage: _config (bump version), index, news, potentially features/status, install (recheck the new links)
  - [ ] Gibberlings3 forums
    - [ ] GemRB forum
    - [ ] modding news
  - [ ] SourceForge project news section
  - [ ] #GemRB in channel and title; Discord channel if it doesn't propagate there automatically

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
- [ ] If the manpage changed (`git log v0.8.6.. gemrb.6.in`), adapt the web copy (pandoc can convert it to markdown)
- [ ] Close old milestone