130 pipe - #1737
130 pipe#1737nv-nmailhot wants to merge 18 commits into
Conversation
…t-14 (drop GitLab)
|
👀 Investigating |
|
🤖 CI Triage Agent — Summary: Unable to fetch logs — cannot diagnose without them.
|
|
👀 Investigating |
|
🤖 CI Triage Agent — I have all the evidence needed for a confident diagnosis. Here is the full report: Summary: Both Root cause: The workflow uses OIDC-based AWS authentication ( This is a classic PR-from-fork / workflow-permissions problem: workflows triggered on PRs from forks (or workflows that do not explicitly declare Key evidence from the log: Both Implicated commit: unknown — this is a workflow/infrastructure configuration issue, not a code regression in File: Suggested fix: Add # At the workflow level (applies to all jobs):
permissions:
id-token: write
contents: read
# — OR at the individual job level (preferred for least-privilege):
jobs:
smoke-arm:
permissions:
id-token: write
contents: read
...
smoke-amd:
permissions:
id-token: write
contents: read
...Additionally, verify that:
Related: PR #1710 — Nmailhot/nixl infra (open, potentially related infrastructure/CI work)
|
COPY the DDN Infinia libs from the mirrored ECR image
nixl/infinia-libs:v2.4.0-beta.1 (/infinia/${ARCH}/) into /opt/ddn/red so
meson auto-detects red_client and compiles the INFINIA backend into the
release wheel.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A build ARG used in a FROM line must be declared in the global,
pre-first-FROM scope; it was declared after the cuda stage so docker
saw it as undeclared ("base name should not be blank"). Move the ARG
to the top alongside BASE_IMAGE.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
INFINIA now detects/compiles, but libred_client.so pulls a dep closure
the AlmaLinux-8 manylinux base lacks. Add them:
- libuuid-devel (uuid/uuid.h, fixes the compile)
- EPEL + jansson + libjose + xxhash-libs (libjansson.so.4,
libjose.so.0, libxxhash.so.0)
- source-build liburing 2.6 (EL8 only ships liburing.so.1; needs .so.2)
- source-build OpenLDAP 2.6.8 (EL8 ships libldap-2.4.so.2; needs the
2.6 soname libldap.so.2 + liblber.so.2), against openssl3
- LD_LIBRARY_PATH/LIBRARY_PATH for /opt/ddn/red/lib + /usr/local/lib
openssl3 (libssl/libcrypto.so.3) and libcurl.so.4 are already source-built.
Remaining unknown: libprotobuf.so.32 (DDN's protobuf soname) may differ
from nixl's gRPC protobuf — letting CI surface it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
libred_client/libred_async are DDN proprietary and already auditwheel --excluded in build-wheel.sh; the wheel ships only the plugin, which loads libred_* at runtime from a DDN install. Fix the stale comment. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| ARG BASE_IMAGE | ||
| ARG BASE_IMAGE_TAG | ||
| FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG} | ||
| # === Option B (DRAFT, UNVALIDATED) =========================================== |
There was a problem hiding this comment.
I would remove this comment (Option B / Unvalidated) if this is the final solution
| cuda_version: "12.9" | ||
| arch: x86_64 | ||
| runner: amd | ||
| # Option B: manylinux jobs build on the public PyPA manylinux_2_28 base |
There was a problem hiding this comment.
Could we please clean up this comment (Option B)?
ovidiusm
left a comment
There was a problem hiding this comment.
LGTM, please see minor comments
|
/build |
|
/build |
Brings nixl's CI to main as a GitHub Actions pipeline, replacing the GitLab mirror+trigger flow: - .github/workflows/ci.yml — version + 5-way build matrix (build-nixl + manylinux x86/arm x cuda12.9/13), wheel security scan, and Artifactory wheel/crate upload. RC generation runs on a push to a release/** branch (i.e. a PR merged into release/<x.y.z> builds + uploads the RC), or a manual workflow_dispatch. Test/verify jobs are omitted for now (re-add once green). - contrib/Dockerfile.manylinux — Option B (public PyPA manylinux_2_28 + NGC CUDA, no GitLab base) plus the INFINIA libs stage and its build deps. - contrib/build-container.sh — --cuda-version + provenance/sbom flags. - meson.build — build_tests gate fix; .github/actionlint.yaml. Squashed from the 130-pipe work (#1737); the 1.3.0 version bump and INFINIA source are already on main (#1738). The GitLab nSpect/scan trigger comes in the follow-up release-pipeline change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Brings nixl's CI to main as a GitHub Actions pipeline, replacing the GitLab mirror+trigger flow: - .github/workflows/ci.yml — version + 5-way build matrix (build-nixl + manylinux x86/arm x cuda12.9/13), wheel security scan, and Artifactory wheel/crate upload. RC generation runs on a push to a release/** branch (i.e. a PR merged into release/<x.y.z> builds + uploads the RC), or a manual workflow_dispatch. Test/verify jobs are omitted for now (re-add once green). - contrib/Dockerfile.manylinux — Option B (public PyPA manylinux_2_28 + NGC CUDA, no GitLab base) plus the INFINIA libs stage and its build deps. - contrib/build-container.sh — --cuda-version + provenance/sbom flags. - meson.build — build_tests gate fix; .github/actionlint.yaml. Hardening (CodeRabbit review): add a concurrency group; fail the build job on empty output (if-no-files-found: error + no-wheels check) instead of masking it; pass the Artifactory token to the upload containers via env (drop set -x / no token in the traced command); persist-credentials: false on checkout; document --cuda-version in build-container.sh help. Squashed from the 130-pipe work (#1737); the 1.3.0 version bump and INFINIA source are already on main (#1738). The GitLab nSpect/scan trigger comes in the follow-up release-pipeline change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… (#1803) Brings nixl's CI to main as a GitHub Actions pipeline, replacing the GitLab mirror+trigger flow: - .github/workflows/ci.yml — version, 5-way build matrix (build-nixl + manylinux x86/arm × cuda12.9/13), scan, CPU tests, Artifactory wheel/crate upload, gated on tag/release. - contrib/Dockerfile.manylinux — Option B (public PyPA manylinux_2_28 + NGC CUDA, no GitLab base) plus the INFINIA libs stage and its build deps. - contrib/build-container.sh — --cuda-version + provenance/sbom flags. - meson.build — build_tests gate fix; .github/actionlint.yaml. Squashed from the 130-pipe work (#1737); the 1.3.0 version bump and INFINIA source are already on main (#1738), so this is the CI-pipeline delta only. The stg-nixl-* staging-validation workflows are included pending a decision to drop them; ci.yml still carries the TEMP ci-release-test label gate. ## What? _Describe what this PR is doing._ ## Why? _Justification for the PR. If there is an existing issue/bug, please reference it. For bug fixes, the 'Why?' and 'What?' can be merged into a single item._ ## How? _It is optional, but for complex PRs, please provide information about the design, architecture, approach, etc._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Migrated continuous integration from GitLab to GitHub Actions with PR/push/tag triggers, security scanning, and release-focused artifact publishing. * Added support for CUDA-version selection during image builds and expanded multi-variant (x86_64/ARM, CUDA variants, manylinux) build outputs. * Refreshed the manylinux container build to use public base images, improving toolchain/library readiness for wheel builds. * Adjusted build behavior so test binaries are included when building release test artifacts. * Added repository linting configuration to recognize known self-hosted runner labels. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… (#1803) Brings nixl's CI to main as a GitHub Actions pipeline, replacing the GitLab mirror+trigger flow: - .github/workflows/ci.yml — version, 5-way build matrix (build-nixl + manylinux x86/arm × cuda12.9/13), scan, CPU tests, Artifactory wheel/crate upload, gated on tag/release. - contrib/Dockerfile.manylinux — Option B (public PyPA manylinux_2_28 + NGC CUDA, no GitLab base) plus the INFINIA libs stage and its build deps. - contrib/build-container.sh — --cuda-version + provenance/sbom flags. - meson.build — build_tests gate fix; .github/actionlint.yaml. Squashed from the 130-pipe work (#1737); the 1.3.0 version bump and INFINIA source are already on main (#1738), so this is the CI-pipeline delta only. The stg-nixl-* staging-validation workflows are included pending a decision to drop them; ci.yml still carries the TEMP ci-release-test label gate. ## What? _Describe what this PR is doing._ ## Why? _Justification for the PR. If there is an existing issue/bug, please reference it. For bug fixes, the 'Why?' and 'What?' can be merged into a single item._ ## How? _It is optional, but for complex PRs, please provide information about the design, architecture, approach, etc._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Migrated continuous integration from GitLab to GitHub Actions with PR/push/tag triggers, security scanning, and release-focused artifact publishing. * Added support for CUDA-version selection during image builds and expanded multi-variant (x86_64/ARM, CUDA variants, manylinux) build outputs. * Refreshed the manylinux container build to use public base images, improving toolchain/library readiness for wheel builds. * Adjusted build behavior so test binaries are included when building release test artifacts. * Added repository linting configuration to recognize known self-hosted runner labels. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e / ai-dynamo#1737) (ai-dynamo#1803)" This reverts commit c8e7b78.
What?
Describe what this PR is doing.
Why?
Justification for the PR. If there is an existing issue/bug, please reference it. For
bug fixes, the 'Why?' and 'What?' can be merged into a single item.
How?
It is optional, but for complex PRs, please provide information about the design,
architecture, approach, etc.