From 6c3e33b7865fad8acbdf73f266d55e08c9769e25 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Sun, 6 Sep 2026 07:49:41 +0000 Subject: [PATCH] jenkins: skip SmartOS and AIX for pull request test runs node-test-pull-request passes GIT_REMOTE_REF=refs/pull/N/head down to every sub-job, while node-daily-* and release jobs pass a branch ref. Use that to exclude the smartos and aix labels from PR-triggered test runs only, so those jobs stop queueing 2-3 h per PR on a single executor while daily and release CI keep full Tier 2 coverage. Refs: https://github.com/nodejs/build/issues/4457 Signed-off-by: Shelley Vohr --- jenkins/scripts/VersionSelectorScript.groovy | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jenkins/scripts/VersionSelectorScript.groovy b/jenkins/scripts/VersionSelectorScript.groovy index f9edff148..3abf70565 100644 --- a/jenkins/scripts/VersionSelectorScript.groovy +++ b/jenkins/scripts/VersionSelectorScript.groovy @@ -11,6 +11,10 @@ def noVer = { nodeVersion -> false } def releaseType = { buildType -> buildType == 'release' } def testType = { buildType -> buildType == 'test' } def anyType = { buildType -> true } +// node-test-pull-request passes the pull ref down to every sub-job; daily +// and release jobs pass a branch ref +def isPullRequest = new String(parameters['GIT_REMOTE_REF'] ?: '') ==~ /refs\/pull\/.+/ +def prTestType = { buildType -> buildType == 'test' && isPullRequest } def buildExclusions = [ // Given a machine label, build type (release or !release) and a Node.js @@ -66,6 +70,11 @@ def buildExclusions = [ [ /^osx13/, anyType, gte(25) ], [ /^macos15/, anyType, lt(25) ], + // Not run for pull requests, node-daily-* still covers them + // https://github.com/nodejs/build/issues/4457 + [ /^smartos/, prTestType, allVer ], + [ /^aix7/, prTestType, allVer ], + // ------------------------------------------------------- ]