Skip to content

Commit

Permalink
Merge pull request codeigniter4#8066 from kenjis/update-RELEASE.md
Browse files Browse the repository at this point in the history
docs: update RELEASE.md
  • Loading branch information
kenjis committed Oct 21, 2023
2 parents f8ae500 + 60870b7 commit 9e5cdd0
Showing 1 changed file with 40 additions and 29 deletions.
69 changes: 40 additions & 29 deletions admin/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@

If you release a new minor version.

* Create PR to merge `4.x` into `develop` and merge it
* Rename the current minor version (e.g., `4.4`) in Setting > Branches >
* [ ] Create PR to merge `4.x` into `develop` and merge it
* [ ] Rename the current minor version (e.g., `4.4`) in Setting > Branches >
"Branch protection rules" to the next minor version. E.g. `4.4``4.5`
* Delete the merged `4.x` branch (This closes all PRs to the branch)
* Do the regular release process. Go to the next "Changelog" section
* [ ] Delete the merged `4.x` branch (This closes all PRs to the branch)
* [ ] Do the regular release process. Go to the next "Changelog" section

## Changelog

Expand Down Expand Up @@ -48,47 +48,57 @@ the existing content.

## Preparation

* Work off direct clones of the repos so the release branches persist for a time
* Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and
Work off direct clones of the repos so the release branches persist for a time.

* [ ] Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and
resolve any necessary PRs
```console
git clone [email protected]:codeigniter4/CodeIgniter4.git
git clone [email protected]:codeigniter4/userguide.git
```
* Vet the **admin/** folders for any removed hidden files (Action deploy scripts
* [ ] Vet the **admin/** folders for any removed hidden files (Action deploy scripts
*do not remove these*)
* git diff --name-status origin/master admin/
* Merge any Security Advisory PRs in private forks
* [ ] Merge any Security Advisory PRs in private forks

## Process

> **Note** Most changes that need noting in the User Guide and docs should have
> been included with their PR, so this process assumes you will not be
> generating much new content.

* Create a new branch `release-4.x.x`
* Update **system/CodeIgniter.php** with the new version number:
* [ ] Create a new branch `release-4.x.x`
* [ ] Update **system/CodeIgniter.php** with the new version number:
`const CI_VERSION = '4.x.x';`
* Update **user_guide_src/source/conf.py** with the new `version = '4.x'` (if applicable)
* [ ] Update **user_guide_src/source/conf.py** with the new `version = '4.x'` (if applicable)
and `release = '4.x.x'`
* Replace **CHANGELOG.md** with the new version generated above
* Update **user_guide_src/source/changelogs/{version}.rst**
* [ ] Replace **CHANGELOG.md** with the new version generated above
* [ ] Update **user_guide_src/source/changelogs/{version}.rst**
* Set the date to format `Release Date: January 31, 2021`
* Remove the section titles that have no items
* Update **user_guide_src/source/installation/upgrade_{ver}.rst**
* [ ] Update **user_guide_src/source/installation/upgrade_{ver}.rst**
* fill in the "All Changes" section, and add it to **upgrading.rst**
* git diff --name-status origin/master -- . ':!system'
* Remove the section titles that have no items
* [Minor version only] Update the "from" version in the title. E.g., `from 4.3.x` → `from 4.3.8`
* Commit the changes with `Prep for 4.x.x release` and push to origin
* Create a new PR from `release-4.x.x` to `develop`:
* [ ] Commit the changes with `Prep for 4.x.x release` and push to origin
* [ ] Create a new PR from `release-4.x.x` to `develop`:
* Title: `Prep for 4.x.x release`
* Decription: `Updates changelog and version references for 4.x.x.` (plus checklist)
* Let all tests run, then review and merge the PR
* Create a new PR from `develop` to `master`:
* Description:
```
Updates changelog and version references for 4.x.x.

Previous version: #xxxx
Release Code: TODO
New Changelog: TODO
```
(plus checklist)
* [ ] Let all tests run, then review and merge the PR
* [ ] Create a new PR from `develop` to `master`:
* Title: `4.x.x Ready code`
* Description: blank
* Merge the PR then create a new Release:
* [ ] Merge the PR and wait for all tests.
* [ ] Create a new Release:
* Tag: `v4.x.x` (Create new tag)
* Target: `master`
* Title: `CodeIgniter 4.x.x`
Expand All @@ -103,53 +113,54 @@ the existing content.

**Full Changelog**: https://github.com/codeigniter4/CodeIgniter4/compare/v4.x.x...v4.x.x
```
* Watch for the "Deploy Distributable Repos" action to make sure **framework**,
Click the "Generate release notes" button, and get the "New Contributors".
* [ ] Watch for the "Deploy Distributable Repos" action to make sure **framework**,
**appstarter**, and **userguide** get updated
* Run the following commands to install and test `appstarter` and verify the new
* [ ] Run the following commands to install and test `appstarter` and verify the new
version:
```console
composer create-project codeigniter4/appstarter release-test
cd release-test
composer test && composer info codeigniter4/framework
```
* Verify that the user guide actions succeeded:
* [ ] Verify that the user guide actions succeeded:
* "[Deploy Distributable Repos](https://github.com/codeigniter4/CodeIgniter4/actions/workflows/deploy-distributables.yml)", the main repo
* "[Deploy Production](https://github.com/codeigniter4/userguide/actions/workflows/deploy.yml)", UG repo
* "[pages-build-deployment](https://github.com/codeigniter4/userguide/actions/workflows/pages/pages-build-deployment)", UG repo
* Check if "CodeIgniter4.x.x.epub" is added to UG repo. "CodeIgniter.epub" was
created when v4.3.8 was released.
* Fast-forward `develop` branch to catch the merge commit from `master`
* [ ] Fast-forward `develop` branch to catch the merge commit from `master`
```console
git fetch origin
git checkout develop
git merge origin/develop
git merge origin/master
git push origin HEAD
```
* Update the next minor upgrade branch `4.x`:
* [ ] Update the next minor upgrade branch `4.x`:
```console
git fetch origin
git checkout 4.x
git merge origin/4.x
git merge origin/develop
git push origin HEAD
```
* [Minor version only] Create the next minor upgrade branch `4.x`:
* [ ] [Minor version only] Create the next minor upgrade branch `4.x`:
```console
git fetch origin
git switch develop
git switch -c 4.x
git push origin HEAD
```
* Publish any Security Advisories that were resolved from private forks
* [ ] Publish any Security Advisories that were resolved from private forks
(note: publishing is restricted to administrators):
* Announce the release on the forums and Slack channel
* [ ] Announce the release on the forums and Slack channel
(note: this forum is restricted to administrators):
* Make a new topic in the "News & Discussion" forums:
https://forum.codeigniter.com/forum-2.html
* The content is somewhat organic, but should include any major features and
changes as well as a link to the User Guide's changelog
* Create a PR for new changelog and upgrade for the next version
* [ ] Create a PR for new changelog and upgrade for the next version
* Create **user_guide_src/source/changelogs/{next_version}.rst** and add it to
**index.rst** (See **next-changelog-*.rst**)
* Create **user_guide_src/source/installation/upgrade_{next_version}.rst** and add it to
Expand Down

0 comments on commit 9e5cdd0

Please sign in to comment.