Skip to content

Draft: ci: inject repo manifest with CI_ONIRO_LOCAL_MANIFEST

Zygmunt Krynicki requested to merge zyga/oniro:feature/local-manifest into kirkstone

We use repo to create a workspace for our project. This makes CI a little bit more complex, as there are nuances in making sure that we test our changes, correctly replacing vanilla version of something with the proposed change.

So far we've created two mechanisms for that: CI_ONIRO_GIT_REPO_PATH and the recently added "OECORE" system. In both cases the intent is to replace something in the manifest with something else, so that the "else" thing can represent an incoming or potential future change.

We've been relying on hacks while repo contains a first-party system for this known as local manifets. We can initialize a repo workspace, create a local manifest with any additional content and then synchronize the workspace. Since local manifest can freely add or remove projects and remotes, we can make any logical "cuts" or replacements before synchronizing the changes, saving bandwitdth and reducing complexity, by making the resulting workspace exactly as repo would have created it in general (right now we rely on symlinks or other hacks that are not representative).

The other two mechanism will stay intact for the duration of the transtion. I plan on removing them once all the associated changes land across repositories.

Signed-off-by: Zygmunt Krynicki zygmunt.krynicki@huawei.com

Edited by Zygmunt Krynicki

Merge request reports