-
Notifications
You must be signed in to change notification settings - Fork 340
SRE-3534 ci: adapt CI to use el9.7 #17376
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
base: master
Are you sure you want to change the base?
Changes from all commits
900350b
8590393
1750cc8
0cabf7b
eded0e1
afd3f01
fea5137
f02ea77
a0e4556
3f8c7c2
6100e53
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,7 +5,7 @@ | |
| /* groovylint-disable ParameterName, VariableName */ | ||
| /* Copyright 2019-2024 Intel Corporation | ||
| /* Copyright 2025 Google LLC | ||
| * Copyright 2025 Hewlett Packard Enterprise Development LP | ||
| * Copyright 2025-2026 Hewlett Packard Enterprise Development LP | ||
| * All rights reserved. | ||
| * | ||
| * This file is part of the DAOS Project. It is subject to the license terms | ||
|
|
@@ -19,6 +19,7 @@ | |
| // To use a test branch (i.e. PR) until it lands to master | ||
| // I.e. for testing library changes | ||
| //@Library(value='pipeline-lib@your_branch') _ | ||
| @Library(value='pipeline-lib@grom72/SRE-3522') _ | ||
|
|
||
| /* groovylint-disable-next-line CompileStatic */ | ||
| job_status_internal = [:] | ||
|
|
@@ -56,7 +57,7 @@ Map nlt_test() { | |
| print 'Unstash failed, results from NLT stage will not be included' | ||
| } | ||
| sh label: 'Fault injection testing using NLT', | ||
| script: './ci/docker_nlt.sh --class-name el8.fault-injection fi' | ||
| script: './ci/docker_nlt.sh --class-name el9.fault-injection fi' | ||
| List filesList = [] | ||
| filesList.addAll(findFiles(glob: '*.memcheck.xml')) | ||
| int vgfail = 0 | ||
|
|
@@ -282,7 +283,7 @@ pipeline { | |
| description: 'Additional repository used for locating packages for the build and ' + | ||
| 'test nodes, in the project@PR-number[:build] format.') | ||
| string(name: 'CI_HARDWARE_DISTRO', | ||
| defaultValue: '', | ||
| defaultValue: 'el9.7', | ||
| description: 'Distribution to use for CI Hardware Tests') | ||
| string(name: 'CI_EL8_TARGET', | ||
| defaultValue: '', | ||
|
|
@@ -320,9 +321,9 @@ pipeline { | |
| booleanParam(name: 'CI_FI_el8_TEST', | ||
| defaultValue: true, | ||
| description: 'Run the Fault injection testing on EL 8 test stage') | ||
| booleanParam(name: 'CI_TEST_EL8_RPMs', | ||
| booleanParam(name: 'CI_TEST_EL9_RPMs', | ||
| defaultValue: true, | ||
| description: 'Run the Test RPMs on EL 8 test stage') | ||
| description: 'Run the Test RPMs on EL 9 test stage') | ||
| booleanParam(name: 'CI_TEST_LEAP15_RPMs', | ||
| defaultValue: true, | ||
| description: 'Run the Test RPMs on Leap 15 test stage') | ||
|
|
@@ -574,7 +575,7 @@ pipeline { | |
| } | ||
| } | ||
| } | ||
| stage('Build on EL 9.6') { | ||
| stage('Build on EL 9.7') { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For EL distros we generally intentionally build on el-X.Y older than current. Sometimes even numbered releases can have longer term support, and code built for el-9 of any older release in general should work on any older release. |
||
| when { | ||
| beforeAgent true | ||
| expression { !skip_build_stage('el9') } | ||
|
|
@@ -590,7 +591,7 @@ pipeline { | |
| ' --build-arg DAOS_PACKAGES_BUILD=no ' + | ||
| ' --build-arg DAOS_KEEP_SRC=yes ' + | ||
| ' --build-arg REPOS="' + prRepos() + '"' + | ||
| ' --build-arg POINT_RELEASE=.6 ' | ||
| ' --build-arg POINT_RELEASE=.7 ' | ||
|
|
||
| } | ||
| } | ||
|
|
@@ -726,7 +727,7 @@ pipeline { | |
| expression { !skipStage() } | ||
| } | ||
| parallel { | ||
| stage('Unit Test on EL 8.8') { | ||
| stage('Unit Test on EL 9.7') { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should not be specifying the point release for tests, we should always test on the current point release. We should also have the ability of a PR to test on a beta release of a point release. Currently our testing infrastructure is not setup to provide beta releases.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just FYI that changing the names of these stages means the landing requirements need to be updated. I'll handle that when landing |
||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -748,7 +749,7 @@ pipeline { | |
| } | ||
| } | ||
| } | ||
| stage('Unit Test bdev on EL 8.8') { | ||
| stage('Unit Test bdev on EL 9.7') { | ||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -770,7 +771,7 @@ pipeline { | |
| } | ||
| } | ||
| } | ||
| stage('NLT on EL 8.8') { | ||
| stage('NLT on EL 9.7') { | ||
| when { | ||
| beforeAgent true | ||
| expression { params.CI_NLT_TEST && !skipStage() } | ||
|
|
@@ -796,7 +797,7 @@ pipeline { | |
| unitTestPost artifacts: ['nlt_logs/'], | ||
| testResults: 'nlt-junit.xml', | ||
| always_script: 'ci/unit/test_nlt_post.sh', | ||
| valgrind_stash: 'el8-gcc-nlt-memcheck' | ||
| valgrind_stash: 'el9-gcc-nlt-memcheck' | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The pipeline-lib routine parseStageInfo should be providing the default value for the valgrind stash to make sure that it is correct and consistent instead of having to maintain this edit.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMO we should not rely on such a function to parse the stage name to determine the stash name. Functions of that nature have proven to be notorious to debug, modify, or even understand the flow. |
||
| recordIssues enabledForFailure: true, | ||
| failOnError: false, | ||
| ignoreQualityGate: true, | ||
|
|
@@ -810,7 +811,7 @@ pipeline { | |
| } | ||
| } | ||
| } | ||
| stage('Unit Test with memcheck on EL 8.8') { | ||
| stage('Unit Test with memcheck on EL 9.7') { | ||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -830,12 +831,12 @@ pipeline { | |
| always { | ||
| unitTestPost artifacts: ['unit_test_memcheck_logs.tar.gz', | ||
| 'unit_test_memcheck_logs/**/*.log'], | ||
| valgrind_stash: 'el8-gcc-unit-memcheck' | ||
| valgrind_stash: 'el9-gcc-unit-memcheck' | ||
| job_status_update() | ||
| } | ||
| } | ||
| } // stage('Unit Test with memcheck on EL 8.8') | ||
| stage('Unit Test bdev with memcheck on EL 8.8') { | ||
| } // stage('Unit Test with memcheck on EL 9.7') | ||
| stage('Unit Test bdev with memcheck on EL 9.7') { | ||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -855,11 +856,11 @@ pipeline { | |
| always { | ||
| unitTestPost artifacts: ['unit_test_memcheck_bdev_logs.tar.gz', | ||
| 'unit_test_memcheck_bdev_logs/**/*.log'], | ||
| valgrind_stash: 'el8-gcc-unit-memcheck-bdev' | ||
| valgrind_stash: 'el9-gcc-unit-memcheck-bdev' | ||
| job_status_update() | ||
| } | ||
| } | ||
| } // stage('Unit Test bdev with memcheck on EL 8') | ||
| } // stage('Unit Test bdev with memcheck on EL 9.7') | ||
| } | ||
| } | ||
| stage('Test') { | ||
|
|
@@ -870,7 +871,7 @@ pipeline { | |
| expression { !paramsValue('CI_FUNCTIONAL_TEST_SKIP', false) } | ||
| } | ||
| parallel { | ||
| stage('Functional on EL 8.8 with Valgrind') { | ||
| stage('Functional on EL 9.7 with Valgrind') { | ||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -891,7 +892,7 @@ pipeline { | |
| job_status_update() | ||
| } | ||
| } | ||
| } // stage('Functional on EL 8.8 with Valgrind') | ||
| } // stage('Functional on EL 9.7 with Valgrind') | ||
| stage('Functional on EL 8.8') { | ||
| when { | ||
| beforeAgent true | ||
|
|
@@ -914,7 +915,7 @@ pipeline { | |
| } | ||
| } | ||
| } // stage('Functional on EL 8.8') | ||
| stage('Functional on EL 9') { | ||
| stage('Functional on EL 9.7') { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We control what el-9 point release is used for outside of Jenkins for these tests. The only time we don't want to test the current version is if we need to fix a problem with using the current point release, and the usual problem is that we are waiting for a custom driver from the high speed network adapter vendor, and that only affects hardware tests.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1. I think this should stay as
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The intention of this change is to clearly indicate which version of OS we actually fully support. The alternative solution is to keep the original name, but start using the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I do think it's better to specify the distro explicitly. Putting |
||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -981,7 +982,7 @@ pipeline { | |
| } | ||
| } // post | ||
| } // stage('Functional on Ubuntu 20.04') | ||
| stage('Fault injection testing on EL 8.8') { | ||
| stage('Fault injection testing on EL 9.7') { | ||
| when { | ||
| beforeAgent true | ||
| expression { !skipStage() } | ||
|
|
@@ -1031,16 +1032,16 @@ pipeline { | |
| stash name: 'fault-inject-valgrind', | ||
| includes: '*.memcheck.xml', | ||
| allowEmpty: true | ||
| archiveArtifacts artifacts: 'nlt_logs/el8.fault-injection/', | ||
| archiveArtifacts artifacts: 'nlt_logs/el9.fault-injection/', | ||
| allowEmptyArchive: true | ||
| job_status_update() | ||
| } | ||
| } | ||
| } // stage('Fault injection testing on EL 8.8') | ||
| stage('Test RPMs on EL 8.6') { | ||
| } // stage('Fault injection testing on EL 9.7') | ||
| stage('Test RPMs on EL 9.6') { | ||
| when { | ||
| beforeAgent true | ||
| expression { params.CI_TEST_EL8_RPMs && !skipStage() } | ||
| expression { params.CI_TEST_EL9_RPMs && !skipStage() } | ||
| } | ||
| agent { | ||
| label params.CI_UNIT_VM1_LABEL | ||
|
|
@@ -1056,7 +1057,7 @@ pipeline { | |
| rpm_test_post(env.STAGE_NAME, env.NODELIST) | ||
| } | ||
| } | ||
| } // stage('Test RPMs on EL 8.6') | ||
| } // stage('Test RPMs on EL 9.6') | ||
| stage('Test RPMs on Leap 15.5') { | ||
| when { | ||
| beforeAgent true | ||
|
|
@@ -1246,8 +1247,8 @@ pipeline { | |
| } // stages | ||
| post { | ||
| always { | ||
| valgrindReportPublish valgrind_stashes: ['el8-gcc-nlt-memcheck', | ||
| 'el8-gcc-unit-memcheck', | ||
| valgrindReportPublish valgrind_stashes: ['el9-gcc-nlt-memcheck', | ||
| 'el9-gcc-unit-memcheck', | ||
| 'fault-inject-valgrind'] | ||
| job_status_update('final_status') | ||
| jobStatusWrite(job_status_internal) | ||
|
|
||
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.
Note to selves: we need to remove before landing