-
Notifications
You must be signed in to change notification settings - Fork 20
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
Split prow config #891
Split prow config #891
Conversation
Split out the job-config from the prow config.yaml file and use the job-config-path flag to make prow read jobs from a folder. Signed-off-by: Lennart Jern <lennart.jern@est.tech>
Signed-off-by: Lennart Jern <lennart.jern@est.tech>
kubectl -n prow create configmap job-config \ | ||
--from-file=config/jobs/metal3-io \ | ||
--from-file=config/jobs/Nordix \ | ||
--from-file=config/jobs |
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 a bit error prone, since we need to remember to add new folders. On the other hand, prow will autoupdate the configmap as long as the config updater is there in the plugins.yaml
. This means that as long as we create some configmap here that prow can mount, it will happily sync with folders we forgot on the first reconcile.
command: | ||
- generic-autobumper | ||
args: | ||
- --config=prow/config/generic-autobumper-config.yaml |
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.
Updated with new location
This fails because I have not updated the in-cluster config yet. It is trying to look for the config in its old place. |
- "--config-path" | ||
- "prow/config/config.yaml" | ||
- "--plugin-config" | ||
- "prow/config/plugins.yaml" | ||
- "--job-config-path" | ||
- "prow/config/jobs" |
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.
Updated
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.
Great improvement already!
Not sure if possible, but if we could have files per release branch in BMO/CAPM3/IPAM/ironic-image, it would make setting up and managing release branches so much easier. Not sure if that is doable?
Nit: some extra branch config that could be removed, if not.
- Sort list of repos - Remove unnecessary branch directives (when all branches are present) Signed-off-by: Lennart Jern <lennart.jern@est.tech>
This splits the presubmits for CAPM3, BMO, IPAM and Ironic-image so that each release branch has its own file. Signed-off-by: Lennart Jern <lennart.jern@est.tech>
Thanks for the suggestion @tuminoid ! It is definitely doable if I understood you correctly, and I think I have a working solution now. What do you think? |
I need to take better look, but yes, that was what I was suggesting. Thanks! |
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.
AFAIK it is:
/lgtm
/remove lgtm |
/lgtm cancel |
/remove-lgtm |
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.
/lgtm
I have missed the comment that because this is a ci related work it breaks the ci temporarly.
I have agreed with @lentzi90 off site that were willing to take the risk.
/override check-prow-config |
@Rozzii: Overrode contexts on behalf of Rozzii: check-prow-config In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/hold |
(Putting hold so I can apply the changes and check the test before it merges) |
- make | ||
image: docker.io/golang:1.22 | ||
imagePullPolicy: Always | ||
- name: markdownlint |
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.
Can we also split these? Ideally each branch would be complete on its own.
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.
It can be done. Can we do it separately? I already started applying this and it looks like it is working 🙂
/test check-prow-config |
/hold cancel |
/override metal3-ubuntu-e2e-integration-test-main |
@lentzi90: Overrode contexts on behalf of lentzi90: metal3-ubuntu-e2e-integration-test-main In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
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.
/approve
Agreed that we'll finalize the split for the rest of the linters in a follow-up
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tuminoid The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@lentzi90: Updated the following 4 configmaps:
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
This moves all prow config to one folder outside of the kustomization and splits the jobs into multiple files.
Kustomize cannot automatically create configmaps from all files in a folder recursively so I think it makes more sense to handle the config separately. Then we can also keep them in a place that is perhaps easier to find.
This also paves the way for eventually separating out the secrets from the kustomization so that we can have a job for applying changes across all the manifests (not just the config).
The jobs are now in one file per repo. We can change this to one folder per repo or something else if we want.
Fixes: #713