Skip to content

Commit f42352a

Browse files
authored
docs: update release docs and remove legacy release scripts (#10382)
1 parent ca0ca4d commit f42352a

10 files changed

Lines changed: 43 additions & 449 deletions

File tree

admin/README.md

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -43,45 +43,30 @@ This folder contains tools or docs useful for project maintainers.
4343

4444
## Maintainer Scripts
4545

46-
- **release-config** holds variables used for the maintainer & release building
4746
- **docbot** re-builds the user guide from the RST source for it,
4847
and optionally deploys it to the `gh-pages` branch of the main
4948
repository (if the user running it has maintainer rights on that repo).
5049
See the [writeup](./docbot.md).
5150

52-
## Release Building Scripts
51+
## Release Scripts
5352

54-
*Do not use these scripts! They are left here for reference only.*
55-
56-
The release workflow is detailed in its own writeup; these are the main
57-
scripts used by the release manager:
58-
59-
- **release** builds a new release branch in the main repo, for vetting.
60-
This includes updating version dependencies or constants,
61-
generating version(s) of the user guide; and possibly
62-
moving or ignoring stuff, distinguishing release from development.
63-
If successful, it will update the `config` file, with the version number
64-
in it, and it will run the related scripts following, to revise
65-
the release distributions.
66-
Usage: `admin/release version qualifier`
67-
- **release-userguide** builds the distributable userguide repo.
68-
It could be used on its own, but is normally part of `release`.
69-
- **release-deploy** pushes the release changes to the appropriate github
70-
repositories. Tag & create releases on GitHub. This is not easily reversible!
71-
Usage: `admin/release-deploy version qualifier`
72-
- **release-revert** can be used to restore your repositories to the state they
73-
were in before you started a release. **IF** you haven't deployed.
74-
This is in case you decide not to proceed with the release, for any reason.
75-
Remember to be polite when running it.
53+
The release process is detailed in [RELEASE.md](./RELEASE.md). These scripts
54+
are used as part of that process:
7655

56+
- **prepare-release.php** creates the `release-4.x.x` branch and updates
57+
version references in the framework source, the user guide, and the
58+
distribution build script.
59+
Usage: `php admin/prepare-release.php 4.x.x`
60+
- **create-new-changelog.php** creates the changelog and upgrade guide
61+
stubs for the next version and adds them to their index files.
62+
Usage: `php admin/create-new-changelog.php <current_version> <new_version>`
7763

7864
## Other Stuff
7965

80-
- **release-notes.bb** is a boilerplate for forum announcements of a new release.
81-
It is marked up using [BBcode](https://en.wikipedia.org/wiki/BBCode).
8266
- The **framework** and **starter** subfolders contain files that will over-ride
8367
those from the development repository, when the distribution repositories
8468
are built.
8569
- The subfolders inside `admin` contain "next release" files in the case of
8670
`codeigniter4` and over-written distribution files in the other cases.
87-
- The CHANGELOG.md file is auto-generated using the [GitHub Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator)
71+
- The CHANGELOG.md file is generated from GitHub's auto-generated release
72+
notes, as described in [RELEASE.md](./RELEASE.md).

admin/RELEASE.md

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,18 @@
1818
1919
## Merge `develop` branch into next minor version branch `4.y`
2020

21-
Before starting release process, if there are commits in `develop` branch that
21+
Before starting the release process, if there are commits in `develop` branch that
2222
are not merged into `4.y` branch, merge them. This is because if conflicts occur,
2323
merging will take time.
2424

25-
```console
26-
git fetch upstream
27-
git switch 4.y
28-
git merge upstream/4.y
29-
git merge upstream/develop
30-
git push upstream HEAD
31-
```
25+
* [ ] Merge `develop` into `4.y`:
26+
```console
27+
git fetch upstream
28+
git switch 4.y
29+
git merge upstream/4.y
30+
git merge upstream/develop
31+
git push upstream HEAD
32+
```
3233

3334
## [Minor version only] Merge minor version branch into `develop`
3435

@@ -118,16 +119,16 @@ the existing content.
118119
* Create a new branch `release-4.x.x`
119120
* Update **system/CodeIgniter.php** with the new version number:
120121
`const CI_VERSION = '4.x.x';`
121-
* Update **user_guide_src/source/conf.py** with the new `version = '4.x'` (if releasing
122-
the minor version) and `release = '4.x.x'`.
122+
* Update **user_guide_src/source/conf.py** with the new `version = '4.x'`
123+
and `release = '4.x.x'`.
123124
* Update **user_guide_src/source/changelogs/{version}.rst**
124125
* Set the date to format `Release Date: January 31, 2021`
125126
* Update **phpdoc.dist.xml** with the new `<title>CodeIgniter v4.x API</title>`
126127
and `<version number="4.x.x">`
127128
* Update **admin/starter/builds**:
128129
* Set `define('LATEST_RELEASE', '^4.x')`
129-
* Set `define('NEXT_MINOR', '4.y-dev')`.
130-
* If the major version changes, you need to manually change to `define('NEXT_MINOR', '5.0-dev')`.
130+
* Set `define('NEXT_MINOR', '^4.y-dev')`.
131+
* If the major version changes, you need to manually change to `define('NEXT_MINOR', '^5.0-dev')`.
131132
* Commit the changes with `Prep for 4.x.x release`
132133
* [ ] Create a new PR from `release-4.x.x` to `develop`:
133134
* Title: `Prep for 4.x.x release`
@@ -234,26 +235,31 @@ sudo pip3 install sphinx_rtd_theme
234235

235236
### Manual User Guide Process
236237

237-
* Still in the **CodeIgniter4** repo enter the **user_guide_src** directory
238-
* Clear out any old build files: `rm -rf build/`
239-
* Build the HTML version of the User Guide: `make html`
240-
* Build the ePub version of the User Guide: `make epub`
241-
* Switch to the **userguide** repo and create a new branch `release-4.x.x`
242-
* Replace **docs/** with **CodeIgniter4/user_guide_src/build/html**
243-
* Ensure the file **docs/.nojekyll** exists or GitHub Pages will ignore folders
238+
> [!NOTE]
239+
> This process is normally not needed. The "Deploy Distributable Repos" action
240+
> builds and deploys the User Guide automatically when a release is published.
241+
> Follow these steps only if the automatic deployment fails.
242+
243+
* [ ] Still in the **CodeIgniter4** repo enter the **user_guide_src** directory
244+
* [ ] Clear out any old build files: `rm -rf build/`
245+
* [ ] Build the HTML version of the User Guide: `make html`
246+
* [ ] Build the ePub version of the User Guide: `make epub`
247+
* [ ] Switch to the **userguide** repo and create a new branch `release-4.x.x`
248+
* [ ] Replace **docs/** with **CodeIgniter4/user_guide_src/build/html**
249+
* [ ] Ensure the file **docs/.nojekyll** exists or GitHub Pages will ignore folders
244250
with an underscore prefix
245-
* Copy **CodeIgniter4/user_guide_src/build/epub/CodeIgniter.epub** to
251+
* [ ] Copy **CodeIgniter4/user_guide_src/build/epub/CodeIgniter.epub** to
246252
**./CodeIgniter4.x.x.epub**
247-
* Commit the changes with "Update for 4.x.x" and push to origin
248-
* Create a new PR from `release-4.x.x` to `develop`:
253+
* [ ] Commit the changes with "Update for 4.x.x" and push to origin
254+
* [ ] Create a new PR from `release-4.x.x` to `develop`:
249255
* Title: "Update for 4.x.x"
250256
* Description: blank
251-
* Merge the PR
252-
* Create a new Release:
257+
* [ ] Merge the PR
258+
* [ ] Create a new Release:
253259
* Version: "v4.x.x"
254260
* Title: "CodeIgniter 4.x.x User Guide"
255261
* Description: "CodeIgniter 4.x.x User Guide"
256-
* Watch for the "github pages" Environment to make sure the deployment succeeds
262+
* [ ] Watch for the "github pages" Environment to make sure the deployment succeeds
257263

258264
The User Guide website should update itself via the deploy GitHub Action. Should
259265
this fail the server must be updated manually. See repo and hosting details in

admin/release

Lines changed: 0 additions & 145 deletions
This file was deleted.

admin/release-config

Lines changed: 0 additions & 26 deletions
This file was deleted.

admin/release-deploy

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)