Skip to content

Commit 16d140a

Browse files
committed
docs: add RELEASE.md
1 parent 6413513 commit 16d140a

1 file changed

Lines changed: 85 additions & 0 deletions

File tree

admin/RELEASE.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Release Process
2+
3+
> Documentation guide based on the releases of `1.0.0-beta.5` on March 17, 2023.
4+
>
5+
> -kenjis
6+
7+
## Changelog
8+
9+
When generating the changelog each Pull Request to be included must have one of
10+
the following [labels](https://github.com/codeigniter4/shield/labels):
11+
- **bug** ... PRs that fix bugs
12+
- **enhancement** ... PRs to improve existing functionalities
13+
- **new feature** ... PRs for new features
14+
- **refactor** ... PRs to refactor
15+
16+
PRs with breaking changes must have the following additional label:
17+
- **breaking change** ... PRs that may break existing functionalities
18+
19+
### Check Generated Changelog
20+
21+
This process is checking only. Do not create a release.
22+
23+
To auto-generate, navigate to the
24+
[Releases](https://github.com/codeigniter4/shield/releases) page,
25+
click the "Draft a new release" button.
26+
27+
* Tag: "v1.0.0-beta.5" (Create new tag)
28+
* Target: develop
29+
30+
Click the "Generate release notes" button.
31+
32+
Check the resulting content. If there are items in the *Others* section which
33+
should be included in the changelog, add a label to the PR and regenerate
34+
the changelog.
35+
36+
## Preparation
37+
38+
* Clone **codeigniter4/shield** and resolve any necessary PRs
39+
```console
40+
git clone [email protected]:codeigniter4/shield.git
41+
```
42+
* Merge any Security Advisory PRs in private forks
43+
44+
## Process
45+
46+
> **Note** Most changes that need noting in the User Guide and docs should have
47+
> been included with their PR, so this process assumes you will not be
48+
> generating much new content.
49+
50+
* Create a new branch `release-1.x.x`
51+
* Update **src/Auth.php** with the new version number:
52+
`const SHIELD_VERSION = '1.x.x';`
53+
* Commit the changes with "Prep for 1.x.x release" and push to origin
54+
* Create a new PR from `release-1.x.x` to `develop`:
55+
* Title: "Prep for 1.x.x release"
56+
* Description: "Updates version references for `1.x.x`." (plus checklist)
57+
* Let all tests run, then review and merge the PR
58+
* Create a new PR from `develop` to `master`:
59+
* Title: "1.x.x Ready code"
60+
* Description: blank
61+
* Merge the PR
62+
* Create a new Release:
63+
* Version: "v1.x.x"
64+
* Target: master
65+
* Title: "v1.x.x"
66+
* Click the "Generate release notes" button
67+
* Remove "### Others (Only for checking. Remove this category)" section
68+
* Click the "Publish release" button
69+
* Watch for the "docs" action and verify that the user guide updated:
70+
* [docs](https://github.com/codeigniter4/shield/actions/workflows/docs.yml)
71+
* Fast-forward `develop` branch to catch the merge commit from `master`
72+
```console
73+
git fetch origin
74+
git checkout develop
75+
git merge origin/develop
76+
git merge origin/master
77+
git push origin HEAD # @TODO can't push to protected branch.
78+
```
79+
* Publish any Security Advisories that were resolved from private forks
80+
* Announce the release on the forums and Slack channel
81+
(note: this forum is restricted to administrators):
82+
* Make a new topic in the "News & Discussion" forums:
83+
https://forum.codeigniter.com/forum-2.html
84+
* The content is somewhat organic, but should include any major features and
85+
changes as well as a link to the User Guide's changelog

0 commit comments

Comments
 (0)