|
2 | 2 |
|
3 | 3 | Follow these steps to create a new release of MicroPythonOS. |
4 | 4 |
|
5 | | -**Update Changelog**: |
6 | | - |
7 | | -Document changes in `CHANGELOG.md`. |
8 | | - |
9 | 5 | **Update Version Numbers**: |
10 | 6 |
|
11 | 7 | - Increment `CURRENT_OS_VERSION` in `internal_filesystem/lib/mpos/info.py`. |
12 | 8 | - Update version numbers for modified apps: |
13 | 9 |
|
14 | 10 | ``` |
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 |
18 | 12 | ``` |
19 | 13 |
|
20 | | -**Commit and push** all changes, also in external repositories (e.g., [LightningPiggy](https://github.com/LightningPiggy/LightningPiggyApp)): |
| 14 | +**Update Changelog**: |
21 | 15 |
|
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 |
23 | 18 |
|
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)). |
31 | 20 |
|
32 | | -**Build for all supported devices** |
| 21 | +This will trigger the GitHub builds at https://github.com/MicroPythonOS/MicroPythonOS/actions |
33 | 22 |
|
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) |
37 | 42 |
|
38 | 43 | **Release to GitHub** |
39 | 44 |
|
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 |
43 | 49 |
|
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**: |
45 | 51 |
|
46 | | -This is a manual action, but check out these old scripts for inspiration: |
47 | 52 | ``` |
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 |
50 | 58 | ``` |
51 | 59 |
|
52 | 60 | ## Notes |
|
0 commit comments