We welcome pull requests from anyone. The master branch is the primary branch for development, and if you wish to add new functionality, it probably belongs there. We attempt to maintain recent release branches and welcome bug fixes and backports for those. Please see the release branches documentation for the current list of supported branches.
If you are developing with meta-updater, it may be helpful to read the README and other documentation for this repo, aktualizr, and the updater-repo, particularly the sections about development and debugging.
All commits in pull requests must contain a Signed-off-by:
line to indicate that the developer has agreed to the terms of the Developer Certificate of Origin. A simple way to achieve that is to use the -s
flag of git commit
.
New pull requests will automatically be checked by the probot/dco.
-
OTA-enabled build succeeds for at least one platform, the resulting image boots, and an update can be installed. This check is absolutely necessary for every pull request unless it only touches documentation.
-
If your change touches platform code (like
classes/sota_<platform>.bbclass
), please check building and updating on this particular platform. -
oe-selftest succeeds. To test meta-updater, run
oe-selftest -r updater
from a build directory withMACHINE
set toqemux86-64
. See the relevant section of the README for more details. -
Updates are forwards- and backwards-compatible. You should be able to update an OTA-enabled build before the change is applied to the version with change applied and vice versa. One should pay double attention to the compatibility when bootloader code is affected.
-
The patch/branch should be based on the latest version of the target branch. This may mean that rebasing is necessary if other PRs are merged before yours is approved.
We understand that completing all these tasks might be overly tedious due to build times in Yocto. Please add a comment to your PR describing the tests you’ve done.