Skip to content

jenkins: skip SmartOS and AIX for pull request test runs - #4458

Open
codebytere wants to merge 1 commit into
nodejs:mainfrom
codebytere:jenkins-pr-skip-smartos-aix
Open

jenkins: skip SmartOS and AIX for pull request test runs#4458
codebytere wants to merge 1 commit into
nodejs:mainfrom
codebytere:jenkins-pr-skip-smartos-aix

Conversation

@codebytere

Copy link
Copy Markdown
Member

Implements the proposal in #4457 in the one place this repo controls, VersionSelectorScript.groovy.

node-test-pull-request passes GIT_REMOTE_REF=refs/pull/N/head down through node-test-commit to every sub-job, while node-daily-*, node-release-candidate and the other upstream triggers pass a branch ref (checked against the parameters of recent node-test-commit-smartos builds from both). This adds a prTestType predicate keyed on that and excludes the smartos* and aix7* labels for PR-triggered test runs only. node-test-commit-smartos and -aix are still triggered by the multijob but select no configurations, which the matrix strategy reports as SUCCESS within seconds (BaseMES.run starts from SUCCESS and only folds in configuration results); daily, staging-daily and release runs are unchanged.

Dry-ran the script with emulated parameters / combinations bindings: a v27 PR run keeps rhel8-x64, macos15-x64, rhel9-s390x and drops smartos23-x64, aix72-power9, aix73-power9; the same labels with refs/heads/main, with no ref, or with buildType = 'release' keep everything. What i couldn't check from outside is whether either job has a parent-level post-build step that objects to zero configurations (a JUnit publisher, say); if so that wants "do not fail on empty results" alongside this.

Refs: #4457


Disclosure: the code and this description were written by Claude Code, directed and reviewed by @codebytere.

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: nodejs#4457
Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com>

@richardlau richardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I object to removing AIX from pull request test jobs (since we release binaries for it), but putting that to one side, this isn't the best way to exclude platforms from PR CIs as the parent jobs will still be run (this only exclude the matrix axes).

For e.g. IBM i (which is not run on PRs), we do not include the job in the node-test-pull-request Multijob and instead include it in node-daily-master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants