Conversation
dc619bc to
7195c8b
Compare
.github/workflows/test.yml
Outdated
|
|
||
| - name: Run lava-test-plans | ||
| uses: ./.github/actions/lava-test-plans | ||
| uses: qualcomm-linux/meta-qcom/.github/actions/lava-test-plans |
There was a problem hiding this comment.
For this to work lava-test-plans needs to support a project named the same as a repository. In this case meta-qcom-distro. This change needs to go here: https://github.com/qualcomm-linux/lava-test-plans/tree/master/lava_test_plans/projects
There was a problem hiding this comment.
I will drop the tests from the workflows for now until we have a more functional and ready system.
There was a problem hiding this comment.
In the end I'll leave it as is because it doesn't affect the PR result and allows all the checks to became green.
There was a problem hiding this comment.
Up to you. All subsequent PRs will fail.
There was a problem hiding this comment.
I removed it to not fail on push.
There was a problem hiding this comment.
@mwasilew @quaresmajose I think qualcomm-linux/lava-test-plans#12 will provide necessary changes (at least for now).
|
Yes this PR is heavily based on #118. Creating a new PR was the easiest way for me to test out my ideas. |
ba3287a to
bb97f0a
Compare
bb97f0a to
03d3a7d
Compare
.github/workflows/nightly-build.yml
Outdated
| schedule: | ||
| # NOTE - changes to the cron spec should be pushed by https://github.com/quic-yocto-ci | ||
| # so that build notification emails will be sent out properly. | ||
| - cron: "23 23 * * *" # daily job - pick a random "minute" - top of hour can be busy in github |
There was a problem hiding this comment.
Hm, we do need nightly here as well, the main image people are planning on testing are the ones produced with meta-qcom-distro and done nightly.
There was a problem hiding this comment.
For now we can have just the main meta-qcom nightly and the artifacts will remain the same. In the next step, we can create artifacts nightly from qcom-disto in this layer and remove them from meta-qcom layer. So we end up with two nightly builds, one per layer, where each one produces its own artifacts.
There was a problem hiding this comment.
Could you please leave nightly in place? We will point new users to nightly jobs from meta-qcom-distro, allowing us to gradually fade out meta-qcom builds.
There was a problem hiding this comment.
I can leave it as it is, but note that we dont have tests in place yet for meta-qcom-distro nor do we have yocto-check-layer yet. I don't understand your opinion as to why this can't be postponed either.
There was a problem hiding this comment.
Because we can point our downstream users to the images built from this layer (and thus being more future-proof) rather than surprising them later with the 'you have been using images from meta-qcom, now please switch to meta-qcom-distro).
There was a problem hiding this comment.
When we have the images ready to be consumed here we should remove all qcom distro images from the meta-qcom and keep only the poky-alt distro in that. This clearly will shows what images are provided by each of the repositories, and at this point we can eanble the nightly jobs active in both repositories.
03d3a7d to
6f20d29
Compare
|
According to qualcomm-linux/meta-qcom#1416, I will also drop the commit |
6f20d29 to
c005616
Compare
|
Looking better, let's try to get this merged and validated this week. |
| with: | ||
| path: meta-qcom-distro | ||
|
|
||
| - name: Prepare kas qcom-distro yml |
There was a problem hiding this comment.
I don't understand this patch. and I don't think we should copy KAS config files here, hidden in CI.
We need to decide if we keep the KAS config files for meta-qcom-distro in meta-qcom (1) or if we move them in meta-qcom-distro (2).
If we pick (1) then we should clone meta-qcom and use the KAS files from there, and find a way to fetch the right commit for meta-qcom-distro (it can be main for a push event, but it can be a PR branch too).
If we pick (2), we should clone meta-qcom-distro and let kas clone meta-qcom
There was a problem hiding this comment.
I'm inclined to use (2) and with that we can drop this this patch. But that will have to be done later because it includes changes in both repositories which have to be done in some synchronized way.
There was a problem hiding this comment.
Then testing of meta-qcom starts to depend on meta-qcom-distro, which is also not so good.
(3) make a copy of KAS configs in meta-qcom-distro ?
That would create duplication, but at the same time it would allow us to customize per-machine configuration.
There was a problem hiding this comment.
It already depends, currently testing of meta-qcom does not work without meta-qcom-distro.
Moving all qcom-distro bits and pieces to meta-qcom-distro layer would eliminate that dependency.
And we would make the distro dependent on BSP, not the other way around.
There was a problem hiding this comment.
Please. Duplicate those files.
There was a problem hiding this comment.
It's not a questions duplications:
workflows/build-yocto: add qcom-distro yml local override
This change is intended only to have a functional build with minimal modifications and
is temporary; it will be reverted in subsequent iterations of the distro ci integration.
We need the primary repository to be meta-qcom so we can keep using its github/actions
with minimal changes. To do this, we'll first checkout meta-qcom as the primary
repository and then meta-qcom-distro inside it.
The last part we need for this is the new kas config which will allow us to change the
layer structure used by kas here. This configuration has the necessary changes for
move the meta-qcom-distro layer as well as the differences of meta-qcom layer.
Instead of meta-qcom-distro being an external layer like in meta-qcom ci,
it becomes a internal layer of meta-qcom here.
2f913fd to
537c570
Compare
2823943 to
9a0bcd8
Compare
.github/workflows/monthly.yml
Outdated
| - name: Clean up the persistant sstate-cache dir | ||
| run: | | ||
| # keep current and last month to allow smooth end of month transition | ||
| rm -rf /efs/qli/meta-qcom/sstate-cache-$(date -d '2 months ago' '+%Y-%m') |
There was a problem hiding this comment.
Will the job from meta-qcom clean the cache for meta-qcom-distro?
There was a problem hiding this comment.
for now we've decided to use the same SSTATE_CACHE for meta-qcom and meta-qcom-distro, so yes. are you saying this is a problem?
There was a problem hiding this comment.
The deletion cleanup rule is based solely on time, so it doesn't matter if it's done on meta-qcom or meta-qcom-distro.
.github/workflows/nightly-build.yml
Outdated
| schedule: | ||
| # NOTE - changes to the cron spec should be pushed by https://github.com/quic-yocto-ci | ||
| # so that build notification emails will be sent out properly. | ||
| - cron: "23 23 * * *" # daily job - pick a random "minute" - top of hour can be busy in github |
There was a problem hiding this comment.
Could you please leave nightly in place? We will point new users to nightly jobs from meta-qcom-distro, allowing us to gradually fade out meta-qcom builds.
.github/workflows/push.yml
Outdated
| jobs: | ||
| build: | ||
| uses: ./.github/workflows/build-yocto.yml | ||
| test: |
There was a problem hiding this comment.
Could you please create an issue, lightly describing what is the issue with the tests infrastructure and point it from the commit message?
There was a problem hiding this comment.
I still don't know what's needed for this task to be completed. I only know that it doesn't work as it is, nor does it depend solely on the code present in the layer. More on this #139 (comment)
There was a problem hiding this comment.
qualcomm-linux/lava-test-plans#12 -- will this fit?
There was a problem hiding this comment.
Look like it fit our requirments but It would be better to leave that for the next step since it still requires changes in more places like the actions on meta-qcom.
There was a problem hiding this comment.
I don't know, but @mwasilew said that more changes were needed.
There was a problem hiding this comment.
@mwasilew do you have any idea of what would be missing for enabling testing with meta-qcom-distro?
.github/workflows/build-yocto.yml
Outdated
| path: ci/*.lock.yml | ||
|
|
||
| yocto-run-checks: | ||
| needs: kas-setup |
There was a problem hiding this comment.
Which adaptations are we missing?
There was a problem hiding this comment.
The helper scripts on meta-com/ci don't work as they are and need to be changed or duplicated here.
There was a problem hiding this comment.
Please duplicate it here and provide necessary fixes.
There was a problem hiding this comment.
I prefer to do that later because this PR is already too long and difficult to integrate.
There was a problem hiding this comment.
No, it must be a part of the CI, otherwise we can land recipes which break layer compat requirements.
There was a problem hiding this comment.
Does the current situation allow you to do that?
There was a problem hiding this comment.
I don't think we are calling check-layer with meta-qcom-distro.
4d6ece9 to
9dc37bf
Compare
| - uses: actions/checkout@v4 | ||
| with: | ||
| repository: qualcomm-linux/meta-qcom | ||
| ref: master |
There was a problem hiding this comment.
After we branch for release, this needs to get updated. We could reuse the same branch name, but that would need a git branch aliasfor master<>main in meta-qcom.
There was a problem hiding this comment.
It might be possible at a later step of the distro ci integration to fetch this layer using kas like for all the others. So we'll stop specifying this here on the github workflow.
9dc37bf to
fb7da11
Compare
.github/workflows/push.yml
Outdated
| jobs: | ||
| build: | ||
| uses: ./.github/workflows/build-yocto.yml | ||
| test: |
There was a problem hiding this comment.
qualcomm-linux/lava-test-plans#12 -- will this fit?
.github/workflows/build-yocto.yml
Outdated
| path: ci/*.lock.yml | ||
|
|
||
| yocto-run-checks: | ||
| needs: kas-setup |
There was a problem hiding this comment.
Please duplicate it here and provide necessary fixes.
3096312 to
0804f18
Compare
0804f18 to
089d1ac
Compare
|
This looks fairly ready, and we can iterate once it's merged? |
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>
The yocto-run-checks step needs adaptations that are not yet complete. We will turn it off since this does not prevent the existing features from working. It will be proposed in the next step. 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>
089d1ac to
c0a602d
Compare
This change is intended only to have a functional build with minimal modifications and is temporary; it will be reverted in subsequent iterations of the distro ci integration. We need the primary repository to be meta-qcom so we can keep using its github/actions with minimal changes. To do this, we'll first checkout meta-qcom as the primary repository and then meta-qcom-distro inside it. The last part we need for this is the new kas config which will allow us to change the layer structure used by kas here. This configuration has the necessary changes for move the meta-qcom-distro layer as well as the differences of meta-qcom layer. Instead of meta-qcom-distro being an external layer like in meta-qcom ci, it becomes a internal layer of meta-qcom here. Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
c0a602d to
da27bc5
Compare
To get CI going on meta-qcom-distro, copy over the meta-qcom workflows with the required adaptations.
The major changes are:
Pending changes not ready yet:
Heavily based on #118