From 1d78ff48cd0a0d259e874e9f07fd500aba0b61a8 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Tue, 5 Dec 2023 18:22:57 -0500 Subject: [PATCH 1/3] Always have to push the downstream test branch Skip-PR-comments: true # NOTE: The following default set of pragmas will result in no build # or test. # # Please edit the list of pragmas to produce the minimal amount of build # and test to prove your PR works. # # Or if you have already done the above, and your PR is ready for it's # final for-landing run, remove all of the following pragmas. # # More detail can be found at # https://wiki.hpdd.intel.com/display/CI/Commit+Pragmas. # You should not use this one without prior approval: #Priority: 3 # Run the GitHub Actions test jobs #Run-GHA: false Skip-checkpatch: true Skip-python-bandit: true Skip-build: true # Or you can skip specific PR build stages: #Skip-build-ubuntu20-rpm: true #Skip-build-el8-rpm: true #Skip-build-leap15-rpm: true #Skip-build-el8-gcc: true #Skip-build-el8-gcc-debug: true #Skip-build-el8-gcc-release: true #Skip-build-leap15-gcc: true #Skip-build-leap15-icc: true #Skip-build-ubuntu-clang: true # And/or you could just enable quick-build below which reduces build tims considerably Quick-build: true # Just build and run Functional tests, skipping all others Quick-Functional: true # or building with multiple jobs #Parallel-build: true #Skip-unit-tests: true # Or you could choose which Unit Test stages to skip below #Skip-nlt: true #Skip-unit-test: true #Skip-unit-test-memcheck: true #Skip-test: true # Every run should include the features it is testing. Uncomment the below # line and add the features (space separated) your PR should be testing for. # I.e. rebuild, ... #Features: # Or you can choose which test stages to skip below #Skip-coverity-test: true #Skip-fault-injection-test: true # Skip all Functional test stages #Skip-func-test: true # Skip all Functional test stages on VMs #Skip-func-test-vm: true # Don't skip the valgrind functional test #Skip-func-test-vm-valgrind: false # Skip Functional test stages on EL7, EL8 or Leap 15 #Skip-func-test-el7: true #Skip-func-test-el8: true #Skip-func-test-leap15: true # Skip all Functional test stages on hardware #Skip-func-hw-test: true # or just specific hardware test stages #Skip-func-hw-test-small: true #Skip-func-hw-test-medium: true #Skip-func-hw-test-large: true #Skip-scan-rpms: true #Skip-test-rpms: true # or per distro variants: #Skip-scan-centos-rpms: true #Skip-scan-centos-7-rpms: true #Skip-scan-centos-8-rpms: true #Skip-scan-leap-15-rpms: true #Skip-test-centos-rpms: true #Skip-test-centos-7-rpms: true #Skip-test-centos-8-rpms: true #Skip-test-centos-8.3-rpms: true # If you do run any of the above Functional test stages, please use the following to # limit your tests run to the tests/features you are working on # You can add the tags for your tests to the appropriate pragmas below: #Test-tag: -hw #Test-tag-hw-small: hw,small #Test-tag-hw-medium: hw,medium,ib2 #Test-tag-hw-large: hw,large # If you want to allow Hardware testing to run even if VM testing fails: Allow-unstable-test: true # if you want to test your PR with a PR of a component, you can speify that PR: #PR-repos: project@PR-number[:build_num] # if you want to disable using RPMs in the Functional tests: #RPM-test: false # Or if you want to test with daos RPMs that are already built (i.e. in another PR or in the repo): #RPM-test-version: version[-release] # to get the latest RPMs for the current verison: #RPM-test-version: # This should be figured out automatically, but you can force it with #Doc-only: true # If you want to use a repo-files PR # Repo-files-PR: PR-123 # If you'd prefer not to have your PRs cluttered up with stage failure # comments, uncomment this # Skip-PR-comments: true # ansible-role-snapshot_host-branch: branch-name # ansible-role-kvm-branch: branch-name # to use a different cluster for various stages # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 # HW-medium-label: ci_nvme5 # HW-large-label: ci_nvme9 # to tell CI not to skip a test due to a ticket # Fixes: DAOS-1234 # # If you are ready to push a full CI build and test you can uncomment # the below pragma: #Full-CI-run: true Signed-off-by: Brian J. Murrell --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d5a3a117b..545c07bf9 100755 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -765,10 +765,10 @@ pipeline { git commit -m "Update pipeline-lib branch to self''' + (cachedCommitPragma('Test-skip-build', 'true') == 'true' ? '' : '\n\nSkip-unit-tests: true') + '''" Jenkinsfile - git push -f origin $branch_name:$branch_name else git show fi + git push -f origin $branch_name:$branch_name sleep 10''' sh label: 'Delete local test branch', script: '''dir="daos-''' + env.TEST_BRANCH.replaceAll('/', '-') + '''" From a47e22be174fcc0247ec2c9534cf790b5c3ca7c8 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Tue, 12 Dec 2023 13:13:56 -0500 Subject: [PATCH 2/3] Debug Skip-PR-comments: true Signed-off-by: Brian J. Murrell --- vars/daosPackagesVersion.groovy | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vars/daosPackagesVersion.groovy b/vars/daosPackagesVersion.groovy index 3232ec25d..9c7b41d01 100644 --- a/vars/daosPackagesVersion.groovy +++ b/vars/daosPackagesVersion.groovy @@ -39,6 +39,8 @@ String call(String distro, String next_version) { String target_branch = env.CHANGE_TARGET ? env.CHANGE_TARGET : env.BRANCH_NAME String _distro = distro + println('daosPackagesVersion(' + _distro + ', ' + next_version + ')') + // build parameter (CI_RPM_TEST_VERSION) has highest priority, followed by commit pragma // TODO: this should actually be determined from the PR-repos artifacts String version = rpmTestVersion() @@ -52,6 +54,7 @@ String call(String distro, String next_version) { } if (target_branch =~ testBranchRE()) { + println(target_branch + ' =~ ' + testBranchRE()) // weekly-test just wants the latest for the branch if (rpm_version_cache != '' && rpm_version_cache != 'locked') { return rpm_version_cache + rpmDistValue(_distro) @@ -71,8 +74,11 @@ String call(String distro, String next_version) { rpm_version_cache = daosLatestVersion(next_version, _distro) } } + println('rpm_version_cache == ' + rpm_version_cache ) + println('rpmDistValue(' + _distro + ') == ' + rpmDistValue(_distro)) return rpm_version_cache + rpmDistValue(_distro) } + println(target_branch + ' !~ ' + testBranchRE()) /* what's the query to get the highest 1.0.x package? if (target_branch == "weekly-testing-1.x") { From d5426c0adcaf3f61c40c191c47403098d83fca05 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Tue, 12 Dec 2023 13:27:53 -0500 Subject: [PATCH 3/3] More debug Skip-PR-comments: true Signed-off-by: Brian J. Murrell --- vars/daosPackagesVersion.groovy | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vars/daosPackagesVersion.groovy b/vars/daosPackagesVersion.groovy index 9c7b41d01..d59666f65 100644 --- a/vars/daosPackagesVersion.groovy +++ b/vars/daosPackagesVersion.groovy @@ -57,12 +57,16 @@ String call(String distro, String next_version) { println(target_branch + ' =~ ' + testBranchRE()) // weekly-test just wants the latest for the branch if (rpm_version_cache != '' && rpm_version_cache != 'locked') { + println('1: rpm_version_cache == ' + rpm_version_cache ) + println('1: rpmDistValue(' + _distro + ') == ' + rpmDistValue(_distro)) return rpm_version_cache + rpmDistValue(_distro) } if (rpm_version_cache == '') { // no cached value and nobody's getting it rpm_version_cache = 'locked' + println('calling daosLatestVersion(' + next_version + ', ' + _distro + ')') rpm_version_cache = daosLatestVersion(next_version, _distro) + println('rpm_version_cache == ' + rpm_version_cache) } else { // somebody else is getting it, wait for them Integer i = 30 @@ -74,8 +78,8 @@ String call(String distro, String next_version) { rpm_version_cache = daosLatestVersion(next_version, _distro) } } - println('rpm_version_cache == ' + rpm_version_cache ) - println('rpmDistValue(' + _distro + ') == ' + rpmDistValue(_distro)) + println('2: rpm_version_cache == ' + rpm_version_cache ) + println('2: rpmDistValue(' + _distro + ') == ' + rpmDistValue(_distro)) return rpm_version_cache + rpmDistValue(_distro) } println(target_branch + ' !~ ' + testBranchRE())