Safe embedded firmware releases require a diligent testing and release process. We need to define and document ours in a RELEASE.md file in this repo.
Release Mechanics
This is just an initial suggested outline.
Pre-Release Testing:
1) Identity the target release commit.
1) Build the production defconfig
1) Test???
Release Build Process:
1) Update /etc/artifact_info and commit.
1) Tag that commit with the release version.
1) Push tag and commit to Github
1) Do a clean build of the production defconfig. Roughly:
1) cd build; rm -rf *
1) make xaprw001_defconfig
1) make
Post-Release Testing:
1) Test the full image emmc.img
1) ???
1) Test the OTA update artifact
1) ???
If the tests fail, don't release that version. If they pass, proceed to deployment.
Deployment Process:
1) Send the release image to manufacturing for new router cards.
1) Upload the OTA to Mender
OTA Process:
1) Update router cards with rolling release. Considerations:
coordination with customers, since an update requires a reboot
schedule for rolling release
monitoring. How do determine if update is leading to failures in the wild.
Safe embedded firmware releases require a diligent testing and release process. We need to define and document ours in a
RELEASE.md
file in this repo.Release Mechanics
This is just an initial suggested outline.
Pre-Release Testing: 1) Identity the target release commit. 1) Build the production defconfig 1) Test???
Release Build Process: 1) Update
/etc/artifact_info
and commit. 1) Tag that commit with the release version. 1) Push tag and commit to Github 1) Do a clean build of the production defconfig. Roughly: 1) cd build; rm -rf * 1)make xaprw001_defconfig
1)make
Post-Release Testing: 1) Test the full image
emmc.img
1) ??? 1) Test the OTA update artifact 1) ???If the tests fail, don't release that version. If they pass, proceed to deployment.
Deployment Process: 1) Send the release image to manufacturing for new router cards. 1) Upload the OTA to Mender
OTA Process: 1) Update router cards with rolling release. Considerations: