-
Notifications
You must be signed in to change notification settings - Fork 17
lmp/jobserv: prepare for kirkstone/scarthgap/main builds #371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lmp/jobserv: prepare for kirkstone/scarthgap/main builds #371
Conversation
ea1b248 to
35358ac
Compare
|
Please add a description to the PR |
|
Can I understand we are going to perform 3 different kind of builds? main, kirkstone and scarthgap? Also, can you, please, describe how the test builds is implemented in a section (or child page) in the confluence page for Release Process? |
right, we will have 3 jobs:
I think this naming is more appropriate as it makes clear what branch form the Yocto LTS we are using.
I can add something but I don't fully understand the tests. |
60c4a43 to
f0bb2d7
Compare
|
We have already the kirkstone branch created on lmp-manifest and meta-lmp but the scarthgap need to be created as well on the two repos. |
f0bb2d7 to
122b106
Compare
| persistent-volumes: | ||
| bitbake: /var/cache/bitbake | ||
|
|
||
| - name: build-release-stable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was actually used even as part of our previous kirkstone merge (https://ci.foundries.io/projects/lmp/builds/2753/).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build-release-stable is currently basically a post merge run for kirkstone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build-release-stable is currently basically a post merge run for kirkstone.
this build-release-stable is already there before we create the kirkstone branch and the last change of the job is from 3 year ago. before it is used for honister.
This was actually used even as part of our previous kirkstone merge (https://ci.foundries.io/projects/lmp/builds/2753/).
Right but please note this is a side effect of the kirkstone branch creation. When we created the kirkstone branch we should have changed the configuration of the build-release job that follows refs/heads/main to start following the refs/heads/kirkstone.
lmp/jobserv.yml
Outdated
| timeout: 540 # a build with no cache is quite slow | ||
| triggers: | ||
| - name: build-release | ||
| - name: build-kirkstone |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The machines for kirkstone were actually aligned with build-release-stable, build-release is actually aligned with scarthgap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what we should have done at the time of creating the branch as I mentioned in the previous comment.
When we created the kirkstone branch we should have changed the configuration of the build-release job that follows refs/heads/main to start following the refs/heads/kirkstone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is going to break test automation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the reason of this remaining is because we will have more than one type of build-release, for example v94.x kirkstone based and v95+ scarthgap based.
| runs: | ||
| - name: lmp-sdk | ||
| host-tag: amd64 | ||
| container: foundries/dind-ci:19.03.9_b38f166 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we using this old tag for lmp-sdk?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we only run this lmp-sdk in the build-kirkstone and I copy it also to build-scarthgap and build-main. the tag is the same
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have dropped the job to build the container from the build-kirkstone and build-main and keep it only on the build-scarthgap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
122b106 to
e34ae60
Compare
|
This change should be aligned with the testing setup. At the moment the test scheduler is relying on the build names. So changing LTS testing is currently tracking Alternatively there should be a patch to jobserve to allow for some other field to be added so it can be tracked easily not looking at the build name. |
We can keep the names that are already in use but I think we need 3 different types of builds so we need to add one more at least.
I think it would be clearer if the names of the build were the same as the branches used and that was the main reason for naming them: build-main: follow master branch if it is possible to have a name |
|
I think the amount of builds we have should be related with the release support strategy we want. I'm not sure having 3 is what we want. but I would keep the build name different from the yocto LTS version: |
f637aba to
94f701a
Compare
We can have better names, another suggestion:
Although we don't have to change the names, we will always have to change the branch used, which changed with each new LTS. |
|
@mwasilew as the build names will have some impact on testing, can you please make any suggestions as to what names we should adopt to make 3 types of builds. Or any other solution so we can do 3 different builds with the corresponding tests. |
|
I like what @angolini proposed the most. From the techincal pov it doesn't matter that much. Once we agree on the names I'll push proper changes to conductor. |
angolini
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
94f701a to
b43a3da
Compare
This is an old job that is not used in the last 3 years [1]. It is currently back in use as a result of the creation of the kirkstone branch but note that this ci job did not exist for this purpose. [1] foundriesio@f74174e Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
b43a3da to
4f18380
Compare
|
Please just drop the patch instead of adding and reverting it as part of the same pr. |
b21427d to
5ddd566
Compare
done |
5ddd566 to
bc17ed1
Compare
We still need to define and agree in choosing the CI build names? |
|
for me any naming is good enough. I only want to have a better communication with the internal team on what is changed and why after the merge |
|
I'd like to avoid using branch names in the build names. Something like "main", "lts", "eol" would be my preference. |
Yeah, let's do main, lts and eol. |
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
This job will stop following the main branch and will start following the kirkstone branch. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
…ed machines" This reverts commit 7be3f30. Given previous job name change and the coresponding ref to follow the kirkstone branch, we can enable this machines again since these machines are still available in v94 version. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
All the other jobs have the AKLITE_TAG so add them. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
We don't need anymore the build-main-next job because we have the main branch now free to track the upstream main/master. Let's also start with less machinery and then we add as needed. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Let's start from oldest to newest: - build-eol - build-lts - build-main Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
The run of the job was on the build-kirkstone that is now the previous LTS. Move it to the latest LTS stable which is the build-scarthgap. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
bc17ed1 to
305d281
Compare
|
Jobs renamed to:
|
Our main release CI job called
build-releaseis tracking thelmp-manifest/mainbranch which is already based onkirksotnebranches for all the layers. So it is time to rename that job tobuild-kirkstoneand also start tracking thelmp-manifest/kirksotnebranch that we already have.This will also remove the old
build-release-stablejob which has not been used for some time now and starts to be problematic because it tracks thekirkstonebranch that we didn't have but we recently created.After this PR we will have one job used for develpment:
And more two for the corresponding LTS branches:
After the final revision it was agreed to renamed jobs to:
build-eol kirkstone branch
build-lts scarthgap branch
build-main main branch