Skip to content

CI/BUILD: Change TMPDIR name. - #1910

Merged
ovidiusm merged 3 commits into
ai-dynamo:mainfrom
ColinNV:build_tmpdir
Jul 13, 2026
Merged

ovidiusm merged 3 commits into
ai-dynamo:mainfrom
ColinNV:build_tmpdir

Conversation

@ColinNV

@ColinNV ColinNV commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What?

Rename TMPDIR in build.sh.

Why?

Prevent interference with externally set TMPDIR.

Symptom is nvcc being unable to create temporary files.

Summary by CodeRabbit

  • Bug Fixes

    • Improved build isolation by using a dedicated temporary workspace during package downloads, source extraction, and cleanup, which should reduce interference between build steps.
  • Chores

    • Updated CI and test pipeline container images to a newer build tag across multiple Jenkins jobs.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

👋 Hi ColinNV! Thank you for contributing to ai-dynamo/nixl.

Your PR reviewers will review your contribution then trigger the CI to test your changes.

🚀

@ColinNV

ColinNV commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

/build

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-test-sanitizers build 353

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-dl-gpu-ep build 184

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-non-gpu build 2241

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-dl-gpu build 1392

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-build-wheel build 948

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-gpu build 2628

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-test-sanitizers · commit 689c405d

I have a clear diagnosis. This is a pre-flight CI policy check, not a test failure or hang.

The cidemo-init.sh script detected that PR #1910 modified .gitlab/build.sh (one of the tracked CI_FILES), but the CI_IMAGE_TAG was not bumped in any of the matrix YAML files — all show 20260707-1 -> 20260707-1 (unchanged). Since a tracked CI file changed but the image tag stayed the same, the script exits 1 (line 132), which fails the "Checkout source code" stage.

Note the log timestamps show continuous activity ending immediately at the policy error — this is a deterministic exit-1 failure, not a hang or timeout.

Summary: The nixl-ci-test-sanitizers build failed during the "Checkout source code" stage — the CI init hook rejected the commit because a tracked CI file was modified without bumping CI_IMAGE_TAG.

Root cause: PR #1910 (commit 689c405) modified .gitlab/build.sh, which is one of the tracked CI_FILES in .ci/cidemo-init.sh. The policy check requires that whenever any of those files change, CI_IMAGE_TAG must be incremented in all five matrix YAMLs. The log shows all tags stayed at 20260707-1 -> 20260707-1, so the check fired: ❌ ERROR: You have changed CI files but forgot to increase CI_IMAGE_TAG! and the hook exited 1 (.ci/cidemo-init.sh:132). This is expected policy enforcement — not an infra or code bug.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910 merge commit). The offending change is the modification to .gitlab/build.sh introduced by that PR. (The check baseline is HEAD~1; the most recent legitimate build.sh change on record was 3ab92dc9 by Mikhail Brinskiy, but that one bumped the tag properly.)

File: .ci/cidemo-init.sh:112-132 (the enforcement logic) — triggered by the un-bumped tag lines in .ci/jenkins/lib/*-matrix.yaml.

Suggested fix: In PR #1910, increment CI_IMAGE_TAG (e.g. 20260707-120260707-2) in all five files, since the code checks that every matrix file's tag changed:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

Alternatively, if the .gitlab/build.sh change does not actually affect the built CI image (e.g. a comment or a runtime-only change), consider whether build.sh should remain in the CI_FILES list — but the default correct action is to bump the tag. After pushing the tag bump, re-run the job.

Related: PR #1910 (this change); prior tag-bumping precedent in commit 3ab92dc9 "build: bump UCX version to v1.22.x (#1868)" and 9ac7adab (#1869), both of which touched .gitlab/build.sh.

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 90e8c9bb-47fb-4152-abb2-415ad02bbeae in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-dl-gpu-ep · commit 689c405d

I have a confident diagnosis. This is a CI policy/gate check, not a test failure or hang.

The cidemo-init.sh hook detected that PR #1910 modified .gitlab/build.sh (a tracked CI file) but did not bump the CI_IMAGE_TAG in the matrix YAML files. The log confirms all tags stayed unchanged (20260707-1 -> 20260707-1), so the script exited with code 1 by design.

Summary: The Checkout source code stage failed because the cidemo-init.sh pre-flight hook rejected the build.

Root cause: PR #1910 modified a monitored CI file (.gitlab/build.sh) but did not increment CI_IMAGE_TAG in the CI matrix YAML files. The cidemo-init.sh guard requires that any change to files in its CI_FILES list be accompanied by a bump of CI_IMAGE_TAG in all five matrix YAMLs; since the tag remained 20260707-1 in every file, the check failed with exit 1 (log: ❌ ERROR: You have changed CI files but forgot to increase CI_IMAGE_TAG!). This is an intentional policy gate, not a flaky/timeout/hung failure.

Implicated commit: [REDACTED:Hex High Entropy String] (merge commit for PR #1910). The offending change is the modification to .gitlab/build.sh introduced by this PR.

File: .ci/cidemo-init.sh:112-133 (the check that fails) — triggered by the edit to .gitlab/build.sh (listed at .ci/cidemo-init.sh:8).

Suggested fix: In PR #1910, since .gitlab/build.sh was changed, bump CI_IMAGE_TAG (e.g. 20260707-120260707-2) in all five matrix files:

  • .ci/jenkins/lib/build-matrix.yaml (~line 46)
  • .ci/jenkins/lib/test-matrix.yaml (~line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (~line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

Keep the tag value identical across all five files. If the .gitlab/build.sh change genuinely does not affect the built CI image (e.g. a comment/no-op), the alternative is to revert that file change — but the standard/expected action is to bump the tag.

Related: none found (this is a repo-local policy gate; the guard was most recently exercised by CI-image changes in commits #1868/#1869 touching .gitlab/build.sh).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id cb90451e-b0ac-4587-ba64-33f9a37dba76 in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-build-wheel · commit 689c405d

The diagnosis is clear and confirmed by the logs. This is a deterministic guardrail failure — not a hang, not a flaky test.

The cidemo-init.sh hook detected that .gitlab/build.sh was modified in PR #1910, but the CI_IMAGE_TAG values in all matrix YAML files remained unchanged (20260707-1 -> 20260707-1). The script enforces that any change to a CI file must be accompanied by a bump to CI_IMAGE_TAG, and exits with code 1 when that invariant is violated.

Summary: The nixl-ci-build-wheel build failed during the "Checkout source code" stage because the cidemo-init.sh guardrail rejected the change.

Root cause: PR #1910 (commit 689c405) modified .gitlab/build.sh, which is one of the tracked CI files in .ci/cidemo-init.sh. That hook requires CI_IMAGE_TAG to be incremented in all five matrix YAMLs whenever a CI file changes. All tags stayed at 20260707-1 (unchanged from HEAD~1), so the check failed with exit 1:

❌ ERROR: You have changed CI files but forgot to increase CI_IMAGE_TAG!
This is a policy/guardrail failure, not a build or test error — the container image must be rebuilt/re-tagged so the modified build.sh is actually baked into the CI image.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910 merge). The change to .gitlab/build.sh is the trigger; the last legitimate bump of that file was [REDACTED:Hex High Entropy String] by Mikhail Brinskiy ("build: bump UCX version to v1.22.x").

File: .ci/cidemo-init.sh:112-132 (enforcement block); triggering change in .gitlab/build.sh.

Suggested fix: In PR #1910, bump CI_IMAGE_TAG (e.g. 20260707-120260707-2) in all five files the script checks:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

All five must be updated — the script fails if any one is not bumped (see the OR condition on line 112). After bumping, the CI image will be rebuilt with the updated build.sh.

Related: none found specific to this failure.

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 45d2500a-f382-4a09-9c47-76baad85716a in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-dl-gpu · commit 689c405d

I have a confident, evidence-based diagnosis.

Summary: The nixl-ci-dl-gpu build failed at the "Checkout source code" stage — the cidemo-init.sh pre-flight hook aborted the pipeline because CI files were modified without bumping CI_IMAGE_TAG.

Root cause: PR #1910 modified .gitlab/build.sh, which is listed in the CI_FILES guard array in .ci/cidemo-init.sh. That script requires that whenever any tracked CI file changes, CI_IMAGE_TAG must be incremented in all five matrix YAML files. The log shows every tag was unchanged (Build/Test/Test DL/Test DL EP/Sanitizer Matrix CI_IMAGE_TAG: 20260707-1 -> 20260707-1), so the check at .ci/cidemo-init.sh:112 failed and the script exit 1'd (line 132), causing hudson.AbortException: Fail to run cidemo init hook. This is a deterministic policy failure, not a test failure, hang, or timeout.

Implicated commit: [REDACTED:Hex High Entropy String] (merge commit for PR #1910). The .gitlab/build.sh change originates from that PR's branch (merged from 03d7423).

File: .ci/cidemo-init.sh:112 (the enforcement branch); the actual fix belongs in the matrix YAMLs (e.g. .ci/jenkins/lib/build-matrix.yaml:46, test-matrix.yaml:53, test-dl-matrix.yaml:52, test-dl-ep-matrix.yaml, test-sanitizer-matrix.yaml).

Suggested fix: In PR #1910, bump CI_IMAGE_TAG in all five matrix YAML files (e.g. 20260707-120260707-2) to match the change to .gitlab/build.sh. If the build.sh edit does not actually affect the CI Docker image (e.g. a comment/no-op change), either revert it or, if the guard is too strict, refine the CI_FILES matching in .ci/cidemo-init.sh — but the intended path per the guard is to bump the tag consistently across all five files.

Related: none (no matching issues/PRs found; the search hits above are unrelated).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id d0867e8d-f26f-4f2d-8006-21eab5f06bb7 in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-non-gpu · commit 689c405d

Confirmed. The current tag is 20260707-1 and it was not incremented despite .gitlab/build.sh being changed in this PR.

Summary: The nixl-ci-non-gpu build failed during the "Checkout source code" stage — the .ci/cidemo-init.sh pre-flight hook aborted the pipeline.

Root cause: PR #1910 modified .gitlab/build.sh, which is a tracked CI file in .ci/cidemo-init.sh (CI_FILES array). The hook requires that any change to a CI file be accompanied by a bump of CI_IMAGE_TAG in all five matrix YAMLs, but the tag was left unchanged (20260707-1 -> 20260707-1 for every matrix, per the log). The guard at .ci/cidemo-init.sh:112-132 therefore ran exit 1, failing the checkout stage before any build/test executed. This is a policy/pre-flight failure, not a hang or a genuine test failure.

Implicated commit: [REDACTED:Hex High Entropy String] (the PR #1910 merge commit) — it changed .gitlab/build.sh without bumping CI_IMAGE_TAG. (Author of the PR not shown in the log.)

File: .ci/cidemo-init.sh:112 (guard); the values needing update are in .ci/jenkins/lib/build-matrix.yaml:46 (CI_IMAGE_TAG: "20260707-1") and the matching lines in test-matrix.yaml, test-dl-matrix.yaml, test-dl-ep-matrix.yaml, and test-sanitizer-matrix.yaml.

Suggested fix: Increment CI_IMAGE_TAG in all five matrix YAMLs (e.g. 20260707-120260707-2) in this PR, since .gitlab/build.sh was modified. All five must be bumped — the script requires every one to differ from HEAD~1 (line 112 uses OR across all *_tag_changed=false checks). Alternatively, if the .gitlab/build.sh change does not actually affect the CI image contents, verify whether it belongs in the CI_FILES list; but the straightforward fix is to bump the tags.

Related: Recent commits that touched .gitlab/build.sh and correspondingly bumped tags: #1868 (UCX bump), #1869 (CI base image switch). none (no matching issue found).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id a277f12d-264a-42aa-9cd8-2c14fa4bcf06 in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-gpu · commit 689c405d

The diagnosis is clear and confirmed by the logs. This is a deterministic gate failure, not a hang or timeout.

The .ci/cidemo-init.sh pre-check detected that PR #1910 modified .gitlab/build.sh (a CI file) but did not bump CI_IMAGE_TAG in the matrix YAML files. All tags stayed at 20260707-1 -> 20260707-1, so the guard aborted the build with exit 1 before any tests ran.

Summary: Checkout stage failed — the cidemo-init.sh guard aborted the build because a CI file (.gitlab/build.sh) was changed without bumping CI_IMAGE_TAG.

Root cause: PR #1910 (merge commit 689c405) modifies .gitlab/build.sh, which is in the CI_FILES watch-list of .ci/cidemo-init.sh. That script enforces that whenever any CI file changes, CI_IMAGE_TAG must be incremented in all five matrix YAMLs. The log shows every matrix tag unchanged (20260707-1 -> 20260707-1), so the check failed with exit 1 at line 132, producing hudson.AbortException: ... Fail to run cidemo init hook. This is a policy gate, not a test/product failure — no GPU tests ever ran.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910 merge). The change to .gitlab/build.sh in that PR is what triggered the guard.

File: .ci/cidemo-init.sh:112-132 (enforcement logic); the fix must be applied to the matrix YAMLs listed below.

Suggested fix: In PR #1910, bump CI_IMAGE_TAG (e.g. 20260707-120260707-2) in all five files so the new image built from the modified .gitlab/build.sh is used and the guard passes:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

If the change to .gitlab/build.sh genuinely does not affect the built image, an alternative is to remove .gitlab/build.sh from the CI_FILES list — but bumping the tag is the intended, safe path.

Related: none found specific to this failure. (Recent .gitlab/build.sh history: #1868, #1869, #1802.)

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id c98596a8-8fb4-45ed-a7b8-e039cddbdd64 in the triage console for the audit trail.

@ColinNV

ColinNV commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/build

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-dl-gpu build 1403

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-dl-gpu-ep build 198

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-gpu build 2641

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-build-wheel build 959

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-test-sanitizers build 364

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-non-gpu build 2252

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-dl-gpu-ep · commit 46e74d7e

I have a clear diagnosis. This is not a hang or a test failure — it's a policy/guard check in the CI init hook.

The .ci/cidemo-init.sh hook detected that .gitlab/build.sh was modified in PR #1910, but the guard requires that any CI file change be accompanied by an increment of CI_IMAGE_TAG (so a fresh Docker image is built rather than reusing a stale cached one). The tag remained unchanged (20260707-1 -> 20260707-1) across all five matrix files, so the guard aborted the checkout stage.

I've confirmed the current tag is CI_IMAGE_TAG: "20260707-1" at line 63 of test-dl-ep-matrix.yaml.

Summary: The "Checkout source code" stage failed — the cidemo init hook aborted because .gitlab/build.sh was modified without bumping CI_IMAGE_TAG.

Root cause: PR #1910 changed a CI file (.gitlab/build.sh), and the CI guard in .ci/cidemo-init.sh requires CI_IMAGE_TAG to be incremented whenever CI files change (otherwise the cached Docker image is reused and won't pick up the build-script changes). The tag was left at 20260707-1 in all five matrix files, so the hook exited with ❌ ERROR: You have changed CI files but forgot to increase CI_IMAGE_TAG! and the checkout stage aborted. This is a deterministic policy failure, not a flake, hang, or timeout.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910 merge commit; the head commit [REDACTED:Hex High Entropy String] introduced the .gitlab/build.sh change without the tag bump).

File: .ci/jenkins/lib/test-dl-ep-matrix.yaml:63 (and the corresponding CI_IMAGE_TAG lines in the other four matrix files listed below).

Suggested fix: Increment CI_IMAGE_TAG in all five matrix files so a fresh image is built. E.g. change 20260707-120260707-2 in:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml (line 63)
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

Keep the tag value consistent across all five files, then re-run the pipeline. (Alternatively, if the .gitlab/build.sh change genuinely does not affect the built image, the change could be split out — but bumping the tag is the intended path the guard is enforcing.)

Related: PR #1910. none (no matching issues found for this guard message).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 1813fe88-aa9f-45a6-94fd-e674d6ebe3c7 in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-gpu · commit 46e74d7e

I have a confident diagnosis. The failure is a policy gate in the checkout hook, not a build/test failure.

Summary: The "Checkout source code" stage failed because the .ci/cidemo-init.sh guard rejected PR #1910 — it modified a CI file (.gitlab/build.sh) without bumping CI_IMAGE_TAG.

Root cause: PR #1910 (commit 46e74d7) changed .gitlab/build.sh, which is one of the tracked CI_FILES in .ci/cidemo-init.sh. That script enforces that any change to a CI file must be accompanied by an increased CI_IMAGE_TAG in all five matrix YAMLs. All five tags stayed at 20260707-1 (unchanged: 20260707-1 -> 20260707-1), so the check hit the exit 1 path (line 132), causing .ci/cidemo-init.sh to fail and aborting the checkout stage with "Fail to run cidemo init hook". This is a validation gate, not a compile/test error — none of the downstream build/test stages even ran.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910 merge head). The offending change is the edit to .gitlab/build.sh without a corresponding tag bump.

File: .ci/cidemo-init.sh:112-132 (the enforcement/exit logic); the fix belongs in the matrix YAMLs listed below.

Suggested fix: In PR #1910, bump CI_IMAGE_TAG (e.g. 20260707-120260707-2) in all five files so the guard passes:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

All five must be updated — the guard fails if any one is left unchanged. Alternatively, if the .gitlab/build.sh edit does not actually affect the built image (e.g. a comment or a runtime-only change), revert that portion so no CI file is touched. If build.sh changes should not always force an image rebuild, consider refining CI_FILES in .ci/cidemo-init.sh.

Related: none found directly; recent CI-file changes that correctly bumped the tag include PR #1868 and PR #1869 (both by editing .gitlab/build.sh).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id aad79dc8-aa2b-4be1-81ab-0a25f1952e6b in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-test-sanitizers · commit 46e74d7e

I have a confident diagnosis. This is a CI-policy gate failure, not a test/build failure.

Summary: The "Checkout source code" stage failed in the cidemo-init.sh pre-build hook because PR #1910 modified .gitlab/build.sh (a CI-relevant file) without bumping CI_IMAGE_TAG.

Root cause: The cidemo-init.sh hook enforces a policy: any change to .ci/dockerfiles/Dockerfile.base, .gitlab/build.sh, or .ci/scripts/common.sh requires a corresponding bump of CI_IMAGE_TAG in the matrix YAML files (since those files affect the base/dependency images that get cached by tag). The PR changed .gitlab/build.sh but left CI_IMAGE_TAG unchanged at 20260707-1 -> 20260707-1, so the hook aborted the checkout:

Detected changes in: .gitlab/build.sh
Build Matrix CI_IMAGE_TAG:     20260707-1 -> 20260707-1
...
❌ ERROR: You have changed CI files but forgot to increase CI_IMAGE_TAG!
Checkout source code failed with msg: Fail to run cidemo init hook

This is a legitimate gate failure, not a flake, hang, or infra problem. Without a tag bump, the sanitizer images would be rebuilt/reused inconsistently against the modified dependency-build script.

Implicated commit: [REDACTED:Hex High Entropy String] (the PR #1910 merge commit) — the change to .gitlab/build.sh in that PR is what tripped the gate. The tag values themselves were last set around commits 3ab92dc9 (Mikhail Brinskiy) / 9ac7adab (ovidiusm), which introduced tag 20260707-1.

File: .ci/jenkins/lib/test-sanitizer-matrix.yaml:45 (CI_IMAGE_TAG: "20260707-1"), plus the peer matrix files the hook lists.

Suggested fix: In PR #1910, bump CI_IMAGE_TAG to a new value (e.g. 20260707-2) in every file the hook names:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml (line 45)

Keep the tag identical across all matrices. If the .gitlab/build.sh change was unintentional / doesn't actually affect image contents, revert it instead. After pushing, re-run the job.

Related: none found (this is a policy check in .ci/cidemo-init.sh; the -Dsanitizer/DEPS_SANITIZE machinery originates from PR #1709 "ci: add AddressSanitizer/UBSanitizer/ThreadSanitizer builds").

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 7bfecd31-9ead-40e0-be9f-441e7540339f in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-non-gpu · commit 46e74d7e

I have a confident diagnosis. The failure is a CI policy guardrail, not a build/test error.

Summary: The "Checkout source code" stage failed because the cidemo-init.sh pre-flight hook detected a change to a tracked CI file (.gitlab/build.sh) without a corresponding bump of CI_IMAGE_TAG in the matrix YAMLs.

Root cause: PR #1910 (merge commit 46e74d7) modifies .gitlab/build.sh, which is one of the files listed in CI_FILES in .ci/cidemo-init.sh (line 8). When any of those files change, the hook requires CI_IMAGE_TAG to be incremented in all five matrix YAMLs so that Docker images get rebuilt. In this build all tags were unchanged (20260707-1 -> 20260707-1), so the check at .ci/cidemo-init.sh:112 failed and exited 1, aborting the checkout stage with Fail to run cidemo init hook. This is a guardrail policy failure, not a code/test error.

Implicated commit: [REDACTED:Hex High Entropy String] (PR #1910). The .gitlab/build.sh change in that PR is what triggered the check.

File: .ci/cidemo-init.sh:112 (the enforcement); the offending change is in .gitlab/build.sh.

Suggested fix: In PR #1910, bump the CI_IMAGE_TAG value (e.g. from 20260707-1 to 20260707-2) in all five files the hook checks:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

Keep the tag identical across all five files (the check requires every one to differ from HEAD~1). If the .gitlab/build.sh edit genuinely doesn't affect the built image (e.g. a comment-only change), the alternative is to make the change outside the tracked CI files — but bumping the tag is the intended remediation.

Related: none found specific to this failure. Note that .gitlab/build.sh was recently touched by commits 3ab92dc (UCX bump) and 9ac7ada (CI base image switch), both of which would have needed the same tag bump.

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 31e40caf-41c1-448f-b9d0-f2f3c660b27a in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-dl-gpu · commit 46e74d7e

The diagnosis is complete and unambiguous — this is a CI policy guardrail, not a test/infrastructure failure.

Summary: The "Checkout source code" stage failed because PR #1910 modified a CI file (.gitlab/build.sh) without bumping CI_IMAGE_TAG in the matrix YAML files.

Root cause: The .ci/cidemo-init.sh init hook enforces that any change to a tracked CI file must be accompanied by an increment of CI_IMAGE_TAG in all five matrix YAMLs. This PR changed .gitlab/build.sh but left every tag at 20260707-1 (previous → current all show 20260707-1 -> 20260707-1). The hook detected the unchanged tag and exited non-zero (line 132 of .ci/cidemo-init.sh), aborting the checkout stage with Fail to run cidemo init hook. This is a deliberate guardrail — the changed build script would otherwise be baked into a stale, cached container image, so the check forces a fresh image build via a new tag.

Implicated commit: The failure is caused by the PR's own change to .gitlab/build.sh (build [REDACTED:Hex High Entropy String], merge of c90249f... into c7ea0c6...). The specific commit within PR #1910 that edited .gitlab/build.sh is the trigger; the hook itself was authored earlier and is functioning as designed.

File: .ci/cidemo-init.sh:112-132 (the enforcement block); tag to update lives at .ci/jenkins/lib/build-matrix.yaml:9 (CI_IMAGE_TAG) and the analogous lines in the other four YAMLs.

Suggested fix: In PR #1910, increment CI_IMAGE_TAG in all five files (e.g. 20260707-120260707-2 or 20260708-1):

  • .ci/jenkins/lib/build-matrix.yaml (line 46 / CI_IMAGE_TAG)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

The tag must be changed in all files, since the hook fails if any single one is unchanged (line 112). If the .gitlab/build.sh edit was unintentional, revert it instead and no tag bump is needed.

Related: none

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id de9da15b-d248-4caf-869a-4e7f831744f4 in the triage console for the audit trail.

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-build-wheel · commit 46e74d7e

The diagnosis is confirmed. This is a clean, deterministic CI-policy failure — not a hang or timeout.

Summary: The "Checkout source code" stage failed because PR #1910 modified a CI file (.gitlab/build.sh) without bumping CI_IMAGE_TAG in the matrix YAML files.

Root cause: The cidemo-init.sh guard hook detected changes to .gitlab/build.sh (one of the tracked CI_FILES) but found that CI_IMAGE_TAG was unchanged across all five matrix files (20260707-1 -> 20260707-1 for all of them). Per the policy in .ci/cidemo-init.sh lines 112–132, any change to a CI file requires the image tag to be incremented so a fresh CI image is rebuilt; because the tag was not bumped, the script exited with status 1, which Jenkins surfaced as Fail to run cidemo init hook / hudson.AbortException. This is a policy gate, not a build/test error — all downstream build stages were skipped.

Implicated commit: [REDACTED:Hex High Entropy String] (merge commit for PR #1910). The offending diff is the change to .gitlab/build.sh in that PR's branch.

File: .gitlab/build.sh (changed but tag not bumped); enforced by .ci/cidemo-init.sh:112.

Suggested fix: In PR #1910, increment CI_IMAGE_TAG in all five matrix files so the check passes:

  • .ci/jenkins/lib/build-matrix.yaml (line 46)
  • .ci/jenkins/lib/test-matrix.yaml (line 53)
  • .ci/jenkins/lib/test-dl-matrix.yaml (line 52)
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml

Bump the tag consistently, e.g. 20260707-120260707-2 (or a new date), in every file. The hook requires all tags to change (the || on line 112 fails if any single one is unchanged), so make sure none is missed. If the .gitlab/build.sh change was accidental/trivial and shouldn't force an image rebuild, alternatively revert that file change.

Related: none found specific to this failure; the CI-tag guard was recently exercised by CI-file changes in commits 3ab92dc (UCX bump) and 9ac7ada (CUDA 13.3 base image switch).

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id 80618e49-229a-4a4a-8792-e59374f84b01 in the triage console for the audit trail.

@ColinNV

ColinNV commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/build

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

👀 Investigating nixl-ci-dl-gpu-ep build 199

@svc-nixl

svc-nixl commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 CI Triage Agentnixl-ci-dl-gpu-ep · commit a91786fe

I now have a clear picture. Let me analyze both failures.

Stage 177 (build_helper_dl_ep/aarch64/ucx-v1.22.x/2): The build itself completed successfully — UCX built, NIXL built, nixlbench built, the image was tagged and pushed. The failure is at the very end, in the Allocate DL EP Environment step that this stage transitions into. Notice the marker line mid-log: Cannot contact nixl-ci-dl-gpu-ep-buildhelperdlep-199-ttr89-mr7c3: java.lang.InterruptedException — but that is a transient agent blip during blob copy, and the build recovered and continued to completion.

Stage 235 (Allocate DL EP Environment) is the real root cause. Both stage logs converge on the same final operation — the SLURM allocation.

Let me look at the timestamps closely:

  • 06:51:45.693Z — the ssh ... salloc command is issued.
  • 07:51:54.480Z — the next output appears — exactly ~60 minutes later — and it is: salloc: error: Unable to allocate resources: Connection timed out.

The --immediate=3600 flag tells SLURM to wait at most 3600 seconds (1 hour) for resources before giving up. The job was queued (Pending job allocation 1506028, queued and waiting for resources) and never got a node in that hour, so salloc returned a non-zero exit and the step failed with exit code 1.

This is not a hang and not a code bug — the one-hour gap is the --immediate=3600 timeout doing exactly what it was configured to do. The GB200 partition (gb200nvl72_cx8, --account=blackwell) simply had no free nodes within the hour.

Log requirement satisfied: I successfully fetched both Jenkins stage logs.


Summary: The nixl-ci-dl-gpu-ep build failed while allocating a GPU test node — the SLURM salloc for the GB200 partition timed out after waiting the full 1-hour --immediate window without getting resources.

Root cause: Cluster resource starvation, not a code defect. In the Allocate DL EP Environment stage, salloc -N 1 -p gb200nvl72_cx8 --immediate=3600 --time=01:30:00 --account=blackwell was submitted at 06:51:45, the job (1506028) queued waiting for resources, and after exactly ~3600s SLURM returned error: Unable to allocate resources: Connection timed out → the shell step exited 1. The parallel v1.22.x branch (stage 177) actually built NIXL/UCX/nixlbench and pushed the image successfully; its failure is a downstream consequence of the same allocation step. (The mid-log Cannot contact ...buildhelperdlep-199... java.lang.InterruptedException is a transient agent blip during blob copy — the build recovered and completed.)

Implicated commit: unknown — no code change is implicated; this is an infrastructure/scheduling failure. Commit [REDACTED:Hex High Entropy String] / PR #1910 is not the cause (the code compiled and packaged cleanly).

File: unknown (failure is in the Jenkins pipeline's SLURM allocation step, not in a source file) — the relevant config is the slurm.allocation call with immediateTimeout:3600 on partition gb200nvl72_cx8, account blackwell.

Suggested fix: Re-run the build — the GB200 partition was contended. If this recurs frequently, mitigate at the infrastructure level rather than in code: (1) add automatic retry/backoff around the salloc step so a transient "Unable to allocate resources" doesn't fail the whole PR build; (2) consider raising --immediate / adjusting the queue priority for --account=blackwell, or routing to a less contended partition; (3) surface a clearer "infrastructure timeout — please retry" message so this isn't mistaken for a code regression. Do not treat this as a defect in PR #1910.

Related: none found.

🛡️ This comment had 1 potential secret(s) redacted (Hex High Entropy String). See request_id cb9361d5-3bc0-4945-b551-e9e59ca7aaec in the triage console for the audit trail.

@ColinNV
ColinNV marked this pull request as ready for review July 9, 2026 09:45
@ColinNV
ColinNV requested review from a team as code owners July 9, 2026 09:45
@ColinNV
ColinNV requested a review from ovidiusm July 9, 2026 09:45
@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR bumps the Jenkins CI_IMAGE_TAG from 20260707-1 to 20260709-1 across five build/test matrix YAML files, and updates .gitlab/build.sh to create and use a dedicated BUILD_TMP temporary directory (via mktemp -d) in place of TMPDIR for all download, build, and cleanup operations.

Changes

Jenkins CI Image Tag Bump

Layer / File(s) Summary
Bump CI_IMAGE_TAG across Jenkins matrices
.ci/jenkins/lib/build-matrix.yaml, .ci/jenkins/lib/test-dl-ep-matrix.yaml, .ci/jenkins/lib/test-dl-matrix.yaml, .ci/jenkins/lib/test-matrix.yaml, .ci/jenkins/lib/test-sanitizer-matrix.yaml
env.CI_IMAGE_TAG updated from 20260707-1 to 20260709-1, changing the Docker image tag used by runs_on_dockers definitions in each pipeline.

Estimated code review effort: 1 (Trivial) | ~3 minutes

build.sh BUILD_TMP Migration

Layer / File(s) Summary
Introduce BUILD_TMP directory
.gitlab/build.sh
A new BUILD_TMP temp directory is created via mktemp -d, replacing the previous TMPDIR initialization.
Repoint downloads/installers to BUILD_TMP
.gitlab/build.sh
DOCA .deb download/install, rustup/uv installer downloads, Azurite/Node setup, and libfabric tarball download/extract now target ${BUILD_TMP} instead of ${TMPDIR}.
Repoint build subshells to BUILD_TMP
.gitlab/build.sh
Build subshells for libfabric, abseil-cpp, gRPC, gtest-parallel, Mooncake, UCCl, UCX, and related libraries use ${BUILD_TMP} for cd, cleanup, and clone targets.
Final cleanup targets BUILD_TMP
.gitlab/build.sh
The script's final cleanup step now removes ${BUILD_TMP} instead of ${TMPDIR}.

Estimated code review effort: 2 (Simple) | ~12 minutes

Possibly related PRs

Suggested reviewers: dpressle, ovidiusm, nv-nmailhot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and matches the main change: renaming TMPDIR handling in the build flow.
Description check ✅ Passed The description includes the required What and Why sections and the optional How section is reasonably omitted.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.gitlab/build.sh:
- Line 43: The BUILD_TMP temporary directory created in the build script is only
cleaned up at the end, so failures in the long download/build chain can leave
large artifacts behind. Add a cleanup trap near the BUILD_TMP initialization in
the build script so it always removes the directory on exit or error, and make
sure the trap covers the existing final cleanup path without breaking normal
completion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 514fc58b-bad1-4634-a2b2-305331056df4

📥 Commits

Reviewing files that changed from the base of the PR and between c7ea0c6 and cdb80f7.

📒 Files selected for processing (6)
  • .ci/jenkins/lib/build-matrix.yaml
  • .ci/jenkins/lib/test-dl-ep-matrix.yaml
  • .ci/jenkins/lib/test-dl-matrix.yaml
  • .ci/jenkins/lib/test-matrix.yaml
  • .ci/jenkins/lib/test-sanitizer-matrix.yaml
  • .gitlab/build.sh

Comment thread .gitlab/build.sh
@ovidiusm
ovidiusm merged commit 57de92a into ai-dynamo:main Jul 13, 2026
18 checks passed
@ColinNV
ColinNV deleted the build_tmpdir branch July 13, 2026 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants