Another view on meta-qcom-distro CI#172
Conversation
…nalyze Parsing of meta-qcom-distro recipes fails if systemd is not enabled in DISTRO_FEATURES. Hide systemd-analyze dependency behind the DISTRO_FEATURES check. BitBake error: Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'packagegroup-qcom-utilities', 'systemd-analyze'] Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To get CI going on meta-qcom-distro, copy over the meta-qcom .github/workflows folder revision c5ef0066e [1]. [1] c5ef0066e Enable TPM Stack (#1504) Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
We can discard the scheduled jobs, nightly-build and monthly, that are already being carried out at meta-qcom ci. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
The tests workflows are not ready and will be proposed later after the first phase. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
We will reuse the actions from the meta-com repository to avoid code duplication. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
The branch name here is main and not master like in meta-qcom. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
We will exercise all qcom-distro distributions variants here. The poky-altcfg is more appropriate for testing the Yocto distributions, and are already tested in the meta-qcom layer. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
Import CI configuration matching metea-qcom commit 05fed45a3063 ("ci:
remove qcm6490 qmc2290 soc yaml file (#1578)").
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Adapt CI configuration to be executed from the meta-qcom-distro layer rather than bare meta-qcom. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
In order to test the meta-qcom-distro we need to perform several changes. First of all, specify DISTRO_FEATURES matching qcom-distro, otherwise qcom-distro packages can't pull in dependencies like vulkan-tool. Second, provide workarounds for recipes outside of qcom-distro, which otherwise break yocto-check-layers. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
quaresmajose
left a comment
There was a problem hiding this comment.
You are essentially implementing a completely new IC, practically duplicating everything. I don't think that's what we intend.
| echo 'REQUIRED_DISTRO_FEATURES = "systemd"' >> meta-patch/recipes-patch/patch/packagegroup-yocto-builder.bbappend | ||
|
|
||
| # DISTRO features of qcom-distro | ||
| echo 'DISTRO_FEATURES:append:nodistro = " \ |
There was a problem hiding this comment.
We shouldn't use the the nodistro to validate our distro, It would be more appropriate to use one of our distributions.
There was a problem hiding this comment.
We aren't validating a DISTRO, we are validating the layer to see if it's inert and doesn't have leaky overrides, no?
There was a problem hiding this comment.
The default DISTRO=nodistro of bitbake can be changed to DISTRO=qcom-distro before the oe-init-build-env. Or do you think only nodistro should be used? A few months ago, it was Poky that was used upstream in the autobuilder and it still is if you use the poky repository.
I misspoke when I said we are validating the distro; what I meant was validating the distro's layer.
There was a problem hiding this comment.
@quaresmajose yocto-check-layer generates task signatures both with and without the layer and then compares them, checking that the layer doesn't have any unwanted side effects. You can't generate signatures of the tasks for DISTRO=qcom-distro without meta-qcom-distro layer, which means we don't have a base point to compare signatures to.
|
|
||
| repos: | ||
| meta-qcom: | ||
| url: https://github.com/qualcomm-linux/meta-qcom |
ci/qcom-distro.yml
Outdated
| repos: | ||
| meta-qcom-distro: | ||
| url: https://github.com/qualcomm-linux/meta-qcom-distro | ||
| branch: main |
There was a problem hiding this comment.
The last commit hack in #139 are still there
| @@ -0,0 +1,70 @@ | |||
| # yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json | |||
There was a problem hiding this comment.
I don't see much sense in this, the ci/base.yml has nothing to do with qcom-distro
There was a problem hiding this comment.
We discussed this several times. Currently we duplicate the KAS fragments, possibly deduplicating them later.
Reuse most of @quaresmajose's work from #139 , implement yocto-check-layers and provide duplicate KAS yaml configuration.