ci: build_yocto: pin meta-qcom to local path when merging unmerged PRs#223
Merged
Merged
Conversation
When unmerged meta-qcom PRs are merged locally before the build, the kas lock.yml still references meta-qcom by its remote url and pinned commit. At build time kas re-clones from the remote url and resets meta-qcom to the locked commit, discarding the locally merged state. Fix this by generating a kas overlay file meta_qcom_override.yml after all PRs are merged. The overlay declares meta-qcom with path set to /work/meta-qcom (the container-internal path where meta-qcom is already cloned) and url left empty. When kas sees url as null it sets disable_operations on that repo, using the directory as-is without any fetch or checkout. The overlay is appended last in the kas config chain via pr_override_arg so it takes precedence over lock.yml while leaving all other layer pins untouched. The overlay is only generated and appended when pr_list is non-empty, so builds without unmerged PRs are unaffected. Also drop the erroneous git merge --abort call that was reached after a fast-forward merge where there is no merge in progress to abort. Signed-off-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
93e5c03 to
3d873af
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When unmerged meta-qcom PRs are merged locally before the build, the kas lock.yml still references meta-qcom by its remote url and pinned commit. At build time kas re-clones from the remote url and resets meta-qcom to the locked commit, discarding the locally merged state.
Fix this by generating a kas overlay file meta_qcom_override.yml after all PRs are merged. The overlay declares meta-qcom with path set to /work/meta-qcom (the container-internal path where meta-qcom is already cloned) and url left empty. When kas sees url as null it sets disable_operations on that repo, using the directory as-is without any fetch or checkout. The overlay is appended last in the kas config chain via pr_override_arg so it takes precedence over lock.yml while leaving all other layer pins untouched.
The overlay is only generated and appended when pr_list is non-empty, so builds without unmerged PRs are unaffected.
Also drop the erroneous git merge --abort call that was reached after a fast-forward merge where there is no merge in progress to abort.