-
Notifications
You must be signed in to change notification settings - Fork 35
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
2.x - Introduce Jenkins Job Builder for CI #359
2.x - Introduce Jenkins Job Builder for CI #359
Conversation
Hi @jodh-intel , I'm sending this PR for the 2.0-dev branch as a simplified version of #344 . I re-evaluated the approach and now I think I should start with a simple version and growing on the scope with small steps. So this PR will only generate jobs for the kernel nightly build for 2.x (we don't have such as jobs yet, so the install script always build the kernel - consequently taking more time). Next in my list is:
Sound as a good plan? |
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.
thanks @wainersm, this looks good, just a couple of comments.
a56f544
to
eed2531
Compare
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.
Thanks @wainersm. A few comments.
jobs-builder/jobs/dependencies.yaml
Outdated
# Template default variables | ||
# | ||
arch: x86_64 | ||
os: ubuntu1804 |
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 not 20.04?
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 QEMU and Kernel jobs are running on Ubuntu 18.04. I don't want to change it now.
jobs-builder/jobs/dependencies.yaml
Outdated
single-use: True | ||
- timestamps | ||
- timeout: | ||
timeout: 5 |
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.
Is this in seconds? Why 5 ooi?
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.
Increased to 180.
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 just realized the timeout in the yaml is in minutes but the job builder will convert to seconds.
jobs-builder/jobs/dependencies.yaml
Outdated
case "$flavor" in | ||
"vanilla") export experimental_kernel=false;; | ||
"experimental") export experimental_kernel=true;; | ||
*) echo "Do not know $flavor flavor" && exit 1 |
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.
*) echo "Do not know $flavor flavor" && exit 1 | |
*) echo >&2 "ERROR: Unknown flavour: '$flavour'"; exit 1 |
{% elif os == "fedora32" -%} | ||
fedora32_azure |
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.
F32 goes EOL in a few months - could this be changed to F33?
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.
As we add new jobs I plan to update the os2node.yaml.inc file. For now, it is good enough for the qemu and kernel jobs.
{% elif os == "ubuntu1804" -%} | ||
ubuntu1804_azure | ||
{% elif os == "ubuntu1804_ARM" -%} | ||
arm_node && arm-ubuntu-1804 |
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.
Again, can this be Ubuntu 20.04?
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.
likewise
Any update on this @wainersm? |
@wainersm any updates on this PR :-)? |
pr:
yaml-is-better-than-xml: true
pr-needs-update: true
i-would-love-to-see-this-land: true
person-to-ping: "@wainersm" |
eed2531
to
98ce60d
Compare
hey @jodh-intel I managed to resume that work! There are still small details here and there which I plan to improve on the next days. |
98ce60d
to
bc18546
Compare
Ok, now I think this is ready for review (again). As I mentioned elsewhere this is just a PoC to show the jenkins job builder capabilities. On the version I just pushed I:
|
@chavafg @GabyCT I'm might be tendentious saying that but I believe we will need soon something like what is being proposed on this PR. With the "always green CI" initiative flying, we will need to have a disciplined way of managed the jobs. Using a tool like Jenkins Job Builder allow us to threat the jobs as yet another piece of source code; people will be able to review the change more properly; we can ensure that what is in the repo is what you see on the UI, and so on. @jodh-intel I am sure you are eager for this :) Cc @ariel-adam |
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.
Having heard about this PR today, I took a quick look. I really like the idea, but I feel I am not the right person to approve it. @GabyCT @cpmeadors would you mind giving your opinion?
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.
Thanks @wainersm !
/cc @GabyCT and @jcvenegas for input.
This introduces the files and scripts to use with Jenkins Job Builder to manage our CI jobs. As a proof of concept, it is generated only four jobs: kata-containers-main-kernel-experimental-x86_64 kata-containers-main-kernel-vanilla-x86_64 kata-containers-main-qemu-x86_64 kata-containers-stable-2.2-qemu-x86_64 Fixes kata-containers#343 Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
bc18546
to
a22049c
Compare
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.
Thanks @wainersm !
lgtm but let's get input from @chavafg, @GabyCT, @jcvenegas, @cpmeadors.
Ping y'all - this is ready to go but should really have another ack I feel. |
This introduces the files and scripts to use with Jenkins
Job Builder to manage our CI jobs.
As a proof of concept, it is generated only four jobs:
kata-containers-main-kernel-experimental-x86_64
kata-containers-main-kernel-vanilla-x86_64
kata-containers-main-qemu-x86_64
kata-containers-stable-2.2-qemu-x86_64
Fixes #343
Signed-off-by: Wainer dos Santos Moschetta wainersm@redhat.com