Skip to content

Commit a5096be

Browse files
authored
Merge pull request #687 from kenjis/docs-RELEASE.md
docs: add RELEASE.md
2 parents e45ecf7 + c090835 commit a5096be

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

admin/RELEASE.md

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

0 commit comments

Comments
 (0)