Skip to content

Commit fb56f9c

Browse files
Update release-checklist.md
1 parent 368c24c commit fb56f9c

File tree

1 file changed

+35
-27
lines changed

1 file changed

+35
-27
lines changed

docs/other/release-checklist.md

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,59 @@
22

33
Follow these steps to create a new release of MicroPythonOS.
44

5-
**Update Changelog**:
6-
7-
Document changes in `CHANGELOG.md`.
8-
95
**Update Version Numbers**:
106

117
- Increment `CURRENT_OS_VERSION` in `internal_filesystem/lib/mpos/info.py`.
128
- Update version numbers for modified apps:
139

1410
```
15-
git diff --stat 0.0.4 internal_filesystem/ # Check changes since last release
16-
git diff 0.0.4 -- internal_filesystem/apps/*/META-INF/* # Check app manifests
17-
git diff 0.0.4 -- internal_filesystem/builtin/apps/*/META-INF/* # Check built-in app manifests
11+
git diff --stat 0.6.0 internal_filesystem/ # Check changes since last release, make sure each app change is accompanied by a META-INF/MANIFEST.json change
1812
```
1913

20-
**Commit and push** all changes, also in external repositories (e.g., [LightningPiggy](https://github.com/LightningPiggy/LightningPiggyApp)):
14+
**Update Changelog**:
2115

22-
**Bundle and publish apps**:
16+
- Document changes in `CHANGELOG.md`
17+
- Run `./scripts/changelog_to_json.sh` to make sure the CHANGELOG.md is json-friendly
2318

24-
```
25-
./scripts/bundle_apps.sh
26-
pushd ../apps/
27-
git add apps/
28-
git commit -a
29-
git push
30-
```
19+
**Commit and push** all changes, also in external repositories (e.g., [LightningPiggy](https://github.com/LightningPiggy/LightningPiggyApp)).
3120

32-
**Build for all supported devices**
21+
This will trigger the GitHub builds at https://github.com/MicroPythonOS/MicroPythonOS/actions
3322

34-
```
35-
./scripts/build_all.sh
36-
```
23+
**Download the builds**
24+
25+
When finished, download and extract these builds as artifacts from the [GitHub actions](https://github.com/MicroPythonOS/MicroPythonOS/actions):
26+
27+
- `MicroPythonOS_esp32_0.6.0.ota.zip`
28+
- `MicroPythonOS_esp32_0.6.0.bin.zip`
29+
- `MicroPythonOS_amd64_linux_0.6.0.elf.zip`
30+
- `MicroPythonOS_amd64_macOS_0.6.0.bin.zip`
31+
32+
**Release to Over-The-Air update**
33+
34+
- Copy `MicroPythonOS_esp32_0.6.0.ota` to the [updates repository](https://github.com/MicroPythonOS/updates)
35+
- Update the `osupdate*.json` metadata files as specified in the [README.md](https://github.com/MicroPythonOS/updates/blob/main/README.md)
36+
37+
**Release to the web installer**
38+
39+
- Copy `MicroPythonOS_esp32_0.6.0.bin` file to the [web installer](https://github.com/MicroPythonOS/install)
40+
- Update the [manifest.json metadata file](https://github.com/MicroPythonOS/install/blob/master/manifests/esp32/MicroPythonOS_esp32_0.6.x.json)
41+
- Update `index.html` if necessary (for example, if you added a new metadata.json you need to update the 2 references)
3742

3843
**Release to GitHub**
3944

40-
- Upload ``` ../build_outputs/ ``` to a [new GitHub release](https://github.com/MicroPythonOS/MicroPythonOS/releases/new)
41-
- Add the CHANGELOG.md
42-
- Tag the code with the new release
45+
- Upload the builds a [new GitHub release](https://github.com/MicroPythonOS/MicroPythonOS/releases/new)
46+
- Fill in the new tag (e.g. 0.6.0)
47+
- Copy-paste the list from `CHANGELOG.md` in it
48+
- Add the "What to do" section at the bottom
4349

44-
**Copy the builds to the [install](https://github.com/MicroPythonOS/install) and [updates](https://github.com/MicroPythonOS/updates) repositories**:
50+
**Bundle and publish apps**:
4551

46-
This is a manual action, but check out these old scripts for inspiration:
4752
```
48-
scripts/release_to_updates.sh
49-
scripts/release_to_install.sh
53+
./scripts/bundle_apps.sh
54+
pushd ../apps/
55+
git add apps/
56+
git commit -a
57+
git push
5058
```
5159

5260
## Notes

0 commit comments

Comments
 (0)