Skip to content
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

CI: build coreOS with kdump RPM and run tests #62

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .cci.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// Documentation: https://github.com/coreos/coreos-ci/blob/main/README-upstream-ci.md

properties([
// abort previous runs when a PR is updated to save resources
disableConcurrentBuilds(abortPrevious: true)
])


buildPod(runAsUser: 0, memory: "2Gi", cpu: "2") {
checkout scm
stage("Install packit") {
shwrap("""
dnf install packit -y
""")
}
stage("Build kdump RPM") {
// note: coreos upstream CI only run on x86 so we hardcode the architecture
shwrap("""
packit build locally --release-suffix coreos.tests
mv x86_64/kdump-utils*coreos.tests*.rpm ./kdump-coreos-ci.rpm
""")
}
// make it easy for anyone to download the RPMs
archiveArtifacts 'kdump-coreos-ci.rpm'
stash includes: 'kdump-coreos-ci.rpm', name: 'kdump-rpm'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's also useful to archive the RPMs so that anyone can also download them and test them locally. This has come in quite handy a few times in rpm-ostree:

https://github.com/coreos/rpm-ostree/blob/94b701f1bcc4ae9067a5dc350e43e28f20459ac7/.cci.jenkinsfile#L15-L16

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea !

}

// Build FCOS with the kdump rpm
cosaPod {

stage("Build FCOS") {
unstash 'kdump-rpm'
shwrap("""
coreos-assembler init --force https://github.com/coreos/fedora-coreos-config
mv kdump-coreos-ci.rpm overrides/rpm
cosa fetch --with-cosa-overrides
cosa build
""")
Comment on lines +33 to +38
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine, though honestly we should probably add a e.g. rpms argument to cosaBuild so all this becomes cosaBuild(rpms: ['kdump-rpm']). Similar to the overlays dir.

Copy link
Author

@jbtrystram jbtrystram Dec 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice suggestion. I don't know all the features of coreos-ci-lib (yet) 😃
edit: oh it was an improvement suggestion, I got confused !

}

// the kdump kola tests
stage("Kola kdump tests") {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe just

Suggested change
stage("Kola kdump tests") {
stage("Kola") {

?

Copy link
Author

@jbtrystram jbtrystram Dec 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to make it extra clear for the kdump folks looking at the pipeline where the logs they are interested into are.

kola(cosaDir: "${env.WORKSPACE}", extraArgs: '\\*kdump\\*', skipUpgrade: true, skipBasicScenarios: true)
}
}