|
2 | 2 |
|
3 | 3 | Follow these steps to create a new release of MicroPythonOS. |
4 | 4 |
|
5 | | -1. **Update Version Numbers**: |
| 5 | +**Update Changelog**: |
| 6 | + |
| 7 | +Document changes in `CHANGELOG.md`. |
| 8 | + |
| 9 | +**Update Version Numbers**: |
| 10 | + |
6 | 11 | - Increment `CURRENT_OS_VERSION` in `internal_filesystem/lib/mpos/info.py`. |
7 | 12 | - Update version numbers for modified apps: |
8 | | - ```bash |
9 | | - git diff --stat 0.0.4 internal_filesystem/ # Check changes since last release |
10 | | - git diff 0.0.4 -- internal_filesystem/apps/*/META-INF/* # Check app manifests |
11 | | - git diff 0.0.4 -- internal_filesystem/builtin/apps/*/META-INF/* # Check built-in app manifests |
12 | | - ``` |
13 | | - |
14 | | -2. **Update Changelog**: |
15 | | - - Document changes in `CHANGELOG`. |
16 | | - |
17 | | -3. **Commit and Tag**: |
18 | | - - Commit all changes. |
19 | | - - Tag the main repository and external repositories (e.g., LightningPiggy): |
20 | | - ```bash |
21 | | - git tag -a vX.Y.Z -m "Release vX.Y.Z" |
22 | | - git push --tags |
23 | | - ``` |
24 | | - |
25 | | -4. **Build and Release**: |
26 | | - - Bundle apps: |
27 | | - ```bash |
28 | | - ./scripts/bundle_apps.sh |
29 | | - ``` |
30 | | - - Build for production: |
31 | | - ```bash |
32 | | - ./scripts/build_lvgl_micropython.sh esp32 prod |
33 | | - ``` |
34 | | - - Release to update and install servers: |
35 | | - ```bash |
36 | | - ./scripts/release_to_updates.sh |
37 | | - ./scripts/release_to_install.sh |
38 | | - ``` |
| 13 | + |
| 14 | +```bash |
| 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 |
| 18 | +``` |
| 19 | + |
| 20 | +**Commit and push** all changes, also in external repositories (e.g., [LightningPiggy](https://github.com/LightningPiggy/LightningPiggyApp)): |
| 21 | + |
| 22 | +**Bundle and publish apps**: |
| 23 | + |
| 24 | +```bash |
| 25 | +./scripts/bundle_apps.sh |
| 26 | +pushd ../apps/ |
| 27 | +git add apps/ |
| 28 | +git commit -a |
| 29 | +git push |
| 30 | +``` |
| 31 | + |
| 32 | +**Build for all supported devices** |
| 33 | + |
| 34 | +```bash |
| 35 | +./scripts/build_all.sh |
| 36 | +``` |
| 37 | + |
| 38 | +**Release to GitHub** |
| 39 | + |
| 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 |
| 43 | + |
| 44 | +**Copy the builds to the [install](https://github.com/MicroPythonOS/install) and [updates](https://github.com/MicroPythonOS/updates) repositories**: |
| 45 | + |
| 46 | +This is a manual action, but check out these old scripts for inspiration: |
| 47 | +```bash |
| 48 | +scripts/release_to_updates.sh |
| 49 | +scripts/release_to_install.sh |
| 50 | +``` |
39 | 51 |
|
40 | 52 | ## Notes |
41 | 53 |
|
42 | | -- Ensure all repositories are synchronized before tagging. |
| 54 | +- Ensure all repositories are pushed before tagging. |
43 | 55 | - Verify builds on target hardware (see [Building for ESP32](esp32.md)). |
0 commit comments