Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
4095417
Bump newton version pin to ``79e95bf5571d70a0a46c8eaedc80644531d27368…
huidongc Jun 24, 2026
1013ef9
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 24, 2026
e2d2799
Add distance_to_camera and distance_to_image_plane camera presets to …
rilei-nvidia Jun 24, 2026
baf3ae6
Gate Isaac RTX per-env scene partitioning behind environment variable…
rilei-nvidia Jun 24, 2026
08b44c7
Adding RigidBody USD data classes and writers (#5976)
vidurv-nvidia Jun 24, 2026
e17287e
OMPE-96696: Using ISAAC_LAB_SAVE_STAGES when running tests corrupts h…
mataylor-nvidia Jun 24, 2026
da251ea
Update Camera Annotators for rendering backends (#6257)
pbarejko Jun 25, 2026
8e7f455
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 25, 2026
4847764
Add OvPhysxView: a string-keyed binding manager for OVPhysX tensor bi…
AntoineRichard Jun 25, 2026
205d5ee
Added support for normals in ovrtx and render correctness validation …
rilei-nvidia Jun 25, 2026
b84dd70
Allow for automatic switching between ovrtx and isaac sim RTX (#6246)
mataylor-nvidia Jun 25, 2026
56cb616
Adding Mass USD data classes and writers (#6263)
vidurv-nvidia Jun 25, 2026
dc8e89d
Adding Collision USD data classes and writers (#6254)
vidurv-nvidia Jun 26, 2026
3b17fb9
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 26, 2026
c37615a
Add SO-101 support in Isaac Lab (#5989)
jiwenc-nv Jun 26, 2026
1e04efb
feat(schemas): add articulation-root schema-fragment API
vidurv-nvidia Jun 5, 2026
064ba8e
docs(schemas): mark transition shim if/else for removal post-migration
vidurv-nvidia Jun 5, 2026
af0c392
fix(schemas): resolve articulation root before applying fragments
vidurv-nvidia Jun 9, 2026
e80c7aa
refactor(schemas): reuse get_first_matching_child_prim for root lookup
vidurv-nvidia Jun 9, 2026
3fa37b8
style(schemas): trim verbose comments in articulation root writer
vidurv-nvidia Jun 9, 2026
6892d5d
test(schemas): cover the fix_root_link create-new-joint path
vidurv-nvidia Jun 9, 2026
2754d55
Migrate OVPhysX Articulation onto OvPhysxView (view series, part 2) (…
AntoineRichard Jun 26, 2026
713ddcf
Cache PhysX articulation COM offsets (#6268)
AntoineRichard Jun 26, 2026
d18c334
[IsaacLab CI] Add light weight post-merge integration tests (#6247)
mataylor-nvidia Jun 26, 2026
4e3fc52
Adding Tendon USD data classes and writers (#6265)
vidurv-nvidia Jun 26, 2026
5dbbc2b
Merge remote-tracking branch 'origin/develop' into vidurv/schema-frag…
vidurv-nvidia Jun 26, 2026
12852bc
Move PhysX fixed-root-joint creation out of core into the PhysX backend
vidurv-nvidia Jun 26, 2026
f1892ef
Add core-level tests for the fixed-root-joint creator registry
vidurv-nvidia Jun 26, 2026
45165ab
Document RuntimeError in apply_articulation_root_properties
vidurv-nvidia Jun 26, 2026
6a0775e
Make fixed-root-joint creation backend-aware so Newton runs on its own
vidurv-nvidia Jun 26, 2026
6105255
Updates docker setups and versions and fixes from release branch (#6262)
kellyguo11 Jun 26, 2026
7c885da
Migrate OVPhysX RigidObject onto OvPhysxView (view series, part 3) (#…
AntoineRichard Jun 26, 2026
5f88cd1
Migrate OVPhysX IMU sensor onto OvPhysxView (view series, part 5) (#6…
AntoineRichard Jun 26, 2026
2627446
Migrate OVPhysX PVA sensor onto OvPhysxView (view series, part 5) (#6…
AntoineRichard Jun 26, 2026
cb1fa8f
Migrate OVPhysX joint-wrench sensor onto OvPhysxView (view series, pa…
AntoineRichard Jun 26, 2026
ab01ba0
Migrate OVPhysX contact-sensor pose binding onto OvPhysxView (view se…
AntoineRichard Jun 26, 2026
4b94eef
Migrate OVPhysX FrameView + SceneDataBackend pose bindings onto OvPhy…
AntoineRichard Jun 26, 2026
0316aea
[IsaacLab CI] upload omni-github test-result artifacts from CI jobs (…
mataylor-nvidia Jun 27, 2026
57c396e
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 27, 2026
44d5e35
Keep backend fixed-root-joint hook import free of USD libraries
vidurv-nvidia Jun 27, 2026
25b30c1
Adding Mesh Collision USD data classes and writers (#6264)
vidurv-nvidia Jun 27, 2026
4b381e6
Merge remote-tracking branch 'origin/develop' into vidurv/schema-frag…
vidurv-nvidia Jun 27, 2026
5137c59
Select fixed-root-joint creator by active physics-cfg type
vidurv-nvidia Jun 27, 2026
7989544
Author fixed root joint with backend-neutral USD helper
vidurv-nvidia Jun 27, 2026
aae4918
Document why backend creators defer their imports
vidurv-nvidia Jun 27, 2026
3ee9500
Sort test files alphabetically to ensure consistent test ordering (#6…
huidongc Jun 28, 2026
0c9b40e
Adding Joint Drive USD data classes and writers (#6273)
vidurv-nvidia Jun 28, 2026
62f98e0
Merge remote-tracking branch 'origin/develop' into vidurv/schema-frag…
vidurv-nvidia Jun 28, 2026
003b334
Expose Same-Step terminal observations (#6219)
ooctipus Jun 28, 2026
f53c9ec
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 28, 2026
327a2b6
Migrate OVPhysX frame-transformer sensor onto OvPhysxView (view serie…
AntoineRichard Jun 29, 2026
f7576f1
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 29, 2026
c15dde1
Merge develop to pick up docker install fixes (#6262)
vidurv-nvidia Jun 29, 2026
f5c80a8
[BUG] Fix Isaac Sim 6.0 streaming crash from prebundle torch shadowin…
hujc7 Jun 29, 2026
a529037
Fix PhysxManager crash from stale omni.physx interface cache (#6276)
mhapala Jun 29, 2026
503b6a3
Updates documentation to mention benign package version conflict erro…
kellyguo11 Jun 30, 2026
18f1963
Remove RenderCfg from SimulationCfg and rely on new Global Settings (…
pbarejko Jun 30, 2026
111b16e
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jun 30, 2026
b64ab3b
Allow for automatic switching between ovrtx and isaac sim RTX docs (#…
mataylor-nvidia Jun 30, 2026
e547846
Switch Cartpole lighting from DomeLight to DistantLight (#6289)
rilei-nvidia Jun 30, 2026
7bc7021
Bump Newton to include torque routing (#6293)
AntoineRichard Jul 1, 2026
fce86c9
Add ISAAC_LAB_OVRTX_READ_GPU_TRANSFORMS to control GPU transforms for…
pbarejko Jul 1, 2026
e954d00
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 1, 2026
612306d
Fix import for IsaacRtxRendererGlobalSettingsCfg (#6307)
pbarejko Jul 1, 2026
b0c8ab5
Reuse Newton visualizer frames in videos (#6282)
ooctipus Jul 1, 2026
6f359fe
Fix Newton marker world rendering (#6281)
ooctipus Jul 1, 2026
680270d
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 2, 2026
e45d932
Added instance_segmentation_fast & instance_id_segmentation_fast supp…
rilei-nvidia Jul 2, 2026
378dc59
Update Cartpole Task - Bump rsl-rl (#6294)
StafaH Jul 2, 2026
6717d01
Migrate OVPhysX RigidObjectCollection onto OvPhysxView (view series, …
AntoineRichard Jul 2, 2026
a13d8d6
Fetch OVPhysX wheelhouse CI through NGC + 0.5.1 bump (#6314)
AntoineRichard Jul 2, 2026
b0dcdd8
Resolve articulation-root fixing via physics manager
vidurv-nvidia Jul 2, 2026
3c485d9
Fix depth-only cameras blacking out GUI viewport (#6304)
ooctipus Jul 2, 2026
4dc87bb
Move create_fixed_root_joint to sim.utils
vidurv-nvidia Jul 2, 2026
3b9cf1c
Migrate pre-authored root schemas on PhysX relocation
vidurv-nvidia Jul 2, 2026
30a394e
Consolidate OVRTX tile-extraction kernels (#6331)
rilei-nvidia Jul 3, 2026
0ede6da
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 3, 2026
861d343
[Kamino] Core (#5962)
aserifi Jul 3, 2026
21ba048
[IsaacLab 3.0.0 Multi-Backend] Visual Logging for Headless Runs (#6212)
mataylor-nvidia Jul 3, 2026
1a9971e
[IsaacLab CI] Smoke test marker (#6347)
mataylor-nvidia Jul 4, 2026
1425417
Adding Rigid Body Material USD data classes and writers (#6287)
vidurv-nvidia Jul 4, 2026
30f06c4
Merge remote-tracking branch 'upstream/develop' into ooctipus/pr-6272…
ooctipus Jul 4, 2026
d55e0ed
Fix articulation-root fragment integration boundaries
ooctipus Jul 4, 2026
e211621
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 4, 2026
9b2cb9e
Simplify articulation root handling
ooctipus Jul 4, 2026
0d4b413
Test Newton inherited fixed-root handling
ooctipus Jul 4, 2026
7774ba3
Avoid local imports in articulation root handling
ooctipus Jul 4, 2026
280c20a
Keep cyclic fixed-joint query import local
ooctipus Jul 4, 2026
17136c6
Fix contact sensor activation for nested rigid bodies (#6259)
ooctipus Jul 4, 2026
186f152
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 5, 2026
5aafdb5
Added 'motion_vectors' data type support to OVRTX renderer integratio…
rilei-nvidia Jul 6, 2026
1ca4a60
Raise instead of swallowing OVRTXRenderer failures (#6321)
rilei-nvidia Jul 6, 2026
b2dd3cc
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 6, 2026
f3c0008
Run OV test jobs on fork PRs without the OVPhysX wheelhouse (#6348)
ooctipus Jul 6, 2026
b8ed8a9
Add backend-agnostic benchmark core (benchmark refactor, Part 1/5) (#…
AntoineRichard Jul 6, 2026
029fcb4
Fix OVPhysX runtime pin (#6333)
AntoineRichard Jul 6, 2026
447d8c5
[Kamino] Small Cleanup (#6359)
aserifi Jul 6, 2026
6216fe7
Fix pre-launch runtime imports (#6275)
AntoineRichard Jul 6, 2026
5f2db99
[Kamino] fourbar-pole swingup task (#6327)
rubengrandia Jul 6, 2026
3ec6dae
Merge remote-tracking branch 'origin/develop' into vidurv/schema-frag…
vidurv-nvidia Jul 6, 2026
f6fd754
Defer pxr imports in the base physics manager
vidurv-nvidia Jul 6, 2026
c67c681
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 7, 2026
569fcaa
Articulation Reordering Part 1/8: Extract rigid object interface test…
AntoineRichard Jul 7, 2026
e5f99d3
Avoid redundant sensor backend updates (#6370)
AntoineRichard Jul 7, 2026
69888c3
feat: GPU-accelerated FrameView local poses + a new xform_space_write…
pv-nvidia Jul 7, 2026
1d5d645
Bump Newton to include coupled solver framework (#6366)
mmichelis Jul 7, 2026
b77fe5b
Enable OVPhysX shape-material test via OvPhysxView (#6239)
AntoineRichard Jul 7, 2026
2ae7eaf
[IsaacLab CI] include pytest marks in omni tests and additional marks…
mataylor-nvidia Jul 7, 2026
7b0fe6a
[MGPU] App: default Kit renderer to one GPU (#5933)
hujc7 Jul 7, 2026
1f92203
Update link to upstream documentation (#6399)
pbarejko Jul 7, 2026
c8477f3
[Newton] Fix multi-GPU initialization on non-default devices (#6322)
hujc7 Jul 7, 2026
d775402
Update the central pyproject, remove subpackage specific dependencies…
StafaH Jul 8, 2026
d3dd186
Drop redundant `_renderer` suffix from renderer presets (#6400)
mataylor-nvidia Jul 8, 2026
4128770
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 8, 2026
9ce4097
Enable OVPhysX rigid-object-collection material test via OvPhysxView …
AntoineRichard Jul 8, 2026
a22f83e
Enable OVPhysX rigid-object shape-material tests via OvPhysxView (#6240)
AntoineRichard Jul 8, 2026
5dbcfb1
Add unified runtime and startup benchmark scripts (benchmark refactor…
AntoineRichard Jul 8, 2026
f92249a
Support OVPhysX in randomize_rigid_body_material MDP event (#6243)
AntoineRichard Jul 8, 2026
05bdde8
Clear MJWarp solver internals on env reset (#5730)
AntoineRichard Jul 8, 2026
86492c9
Fix option-like --kit_args values failing argparse on all entry point…
hujc7 Jul 8, 2026
1acbea6
docs: headless doc cleanup (#6108)
AntoineRichard Jul 8, 2026
e50c68c
ovrtx: expose semantic segmentation idToLabels (#6385)
rilei-nvidia Jul 8, 2026
599a77d
Fix duplicate L_thumb_distal_joint in Fourier left hand retargeting c…
ooctipus Jul 8, 2026
7d75759
[Fix] Bump test_rendering_shadow_hand.py timeout to 1500s (#6431)
mataylor-nvidia Jul 8, 2026
14dab00
Removes rendering mode presets (#6405)
nvsekkin Jul 8, 2026
3a315a0
[Fix] Stop docker installs breaking Isaac Sim extension startup (preb…
hujc7 Jul 8, 2026
919c6f4
Resolve Python logging level outside AppLauncher (#6427)
mataylor-nvidia Jul 8, 2026
e2292cc
Add support for python-env.sh for dev workflows (#6434)
pbarejko Jul 9, 2026
5120841
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 9, 2026
a45a658
Fix typos and a broken image link in the documentation (#6235)
Lynn-hh Jul 9, 2026
a6d215e
Adds skills for Isaac Lab (#5769)
kellyguo11 Jul 9, 2026
7160505
Add unified training benchmark dispatcher and RL adapters (benchmark …
AntoineRichard Jul 9, 2026
e681378
Clarifies Factory vs FORGE action-space control semantics (#6158)
0xadvait Jul 9, 2026
2d24f1a
Fix actuator gain snapshot corruption for multi-env floating-base art…
AntoineRichard Jul 9, 2026
72cb04b
Fix headless video recording pumping Kit every step (#6406)
matthewtrepte Jul 9, 2026
d691d0e
Expose Newton BVH and renderer performance settings (#6443)
daniela-hase Jul 10, 2026
2aa977c
Fix quadratic startup scaling in NewtonSiteFrameView for body-mounted…
r-schmitt Jul 10, 2026
c1b64d3
[CI][Auto Version Bump] Compile changelog fragments (schedule)
isaaclab-bot[bot] Jul 10, 2026
2382ec6
Add play (inference) benchmark with PlayBundle (benchmark refactor, P…
AntoineRichard Jul 10, 2026
3b0647c
Capture PhysX contact sensor kernels in CUDA graphs (#6387)
AntoineRichard Jul 10, 2026
3a1a9b0
Fixes attribute reordering in configclass with partial type annotatio…
0xadvait Jul 10, 2026
7dd722b
[CI] Cross-platform — Part 2: ARM/Spark workflow (#5698)
hujc7 Jul 10, 2026
cfe3636
Remove legacy benchmark scripts (benchmark refactor, Part 5/5) (#6206)
AntoineRichard Jul 10, 2026
e063c2e
Fix termination manager reset comments (#6006)
NeoZng Jul 10, 2026
7a3831d
Fix environment doc links (#6450)
kellyguo11 Jul 10, 2026
10ecaf9
Merge remote-tracking branch 'origin/develop' into vidurv/schema-frag…
vidurv-nvidia Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-building-environments
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-converting-direct-to-manager
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-debugging-rl-training
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-diagnosing-joint-poses
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-following-coding-style
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-migrating-2x-to-3x
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-migrating-from-isaac-gym
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-planning-manipulation-tasks
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-preparing-assets-for-newton
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-preparing-pr-workflow
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-randomizing-with-events
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-selecting-backends
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-setup-troubleshooting
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-training-rl-agents
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-using-presets
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-using-sensors-actuators
1 change: 1 addition & 0 deletions .agents/skills/isaaclab-writing-changelog-fragments
1 change: 1 addition & 0 deletions .claude/skills
75 changes: 75 additions & 0 deletions .github/actions/_lib/compute-deps-hash/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

name: 'Compute deps hash'
description: >
Compute the deps-cache hash for the Isaac Lab Docker build. Shared by the
docker-build (local-store check) and ecr-build-push-pull (registry check)
actions so a local hit and a registry hit always agree on the same
`deps-<hash>` tag. Hashes the install-relevant files, resolved base image
digest, and target platform.

inputs:
dockerfile-path:
description: 'Path to Dockerfile'
required: true
isaacsim-base-image:
description: 'IsaacSim base image'
required: true
isaacsim-version:
description: 'IsaacSim version'
required: true
platform:
description: 'Target platform included in the dependency-cache identity'
default: 'linux/amd64'
required: false

outputs:
hash:
description: '16-char deps-cache hash'
value: ${{ steps.compute.outputs.hash }}

runs:
using: composite
steps:
- id: compute
shell: bash
env:
DOCKERFILE_PATH: ${{ inputs.dockerfile-path }}
ISAACSIM_BASE_IMAGE: ${{ inputs.isaacsim-base-image }}
ISAACSIM_VERSION: ${{ inputs.isaacsim-version }}
TARGET_PLATFORM: ${{ inputs.platform }}
run: |
set -euo pipefail

# Exact files/dirs whose full content is hashed. The Dockerfile is first.
deps_files=(
"${DOCKERFILE_PATH}"
isaaclab.sh
environment.yml
source/isaaclab/isaaclab/cli
)
deps_manifest_pattern='(setup\.py|pyproject\.toml|setup\.cfg|extension\.toml|requirements[^/]*\.txt|uv\.lock)$'

# Resolve the actual base image digest so a new push of a mutable tag
# (e.g. latest-develop) invalidates the deps cache automatically.
base_image_digest=$(docker buildx imagetools inspect \
"${ISAACSIM_BASE_IMAGE}:${ISAACSIM_VERSION}" \
--format '{{json .Manifest.Digest}}' 2>/dev/null | tr -d '"' || true)
if [ -n "${base_image_digest}" ]; then
base_image_uniq_id="${ISAACSIM_BASE_IMAGE}:${ISAACSIM_VERSION}:${base_image_digest}"
else
echo "🟠 Could not resolve base image digest, falling back to tag string"
base_image_uniq_id="${ISAACSIM_BASE_IMAGE}:${ISAACSIM_VERSION}"
fi

mapfile -t manifest_files < <(git ls-files | grep -E "${deps_manifest_pattern}" || true)
file_hash=$(git ls-files -s "${deps_files[@]}" "${manifest_files[@]}" 2>/dev/null \
| sha256sum | cut -c1-16)
deps_hash=$(printf '%s %s %s' "${file_hash}" "${base_image_uniq_id}" "${TARGET_PLATFORM}" \
| sha256sum | cut -c1-16)

echo "🔵 Deps hash: ${deps_hash}"
echo "hash=${deps_hash}" >> "$GITHUB_OUTPUT"
43 changes: 43 additions & 0 deletions .github/actions/_lib/setup-docker-config/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

name: 'Setup docker config'
description: >
Point DOCKER_CONFIG at a temp config with the credential helper disabled and
log into nvcr.io. Shared by the docker-build and ecr-build-push-pull actions.
Idempotent: re-invoking it in the same job is a no-op, so callers (e.g.
ecr-build-push-pull delegating to docker-build) don't need to coordinate.
Reads NGC_API_KEY from the environment (optional; warns when missing).

runs:
using: composite
steps:
- shell: bash
run: |
# The runner's credential helper backend is broken ("not implemented")
# and causes docker login calls to fail unless we point DOCKER_CONFIG at
# a temp config with credsStore disabled. The value is written to
# $GITHUB_ENV so subsequent steps in the job inherit it; a second
# invocation sees it already set and short-circuits.
if [ -n "${DOCKER_CONFIG:-}" ] && [ -f "${DOCKER_CONFIG}/config.json" ]; then
echo "🟢 Docker config already set up at ${DOCKER_CONFIG}, skipping"
exit 0
fi

DOCKER_CONFIG_DIR=$(mktemp -d)
if [ -f "${HOME}/.docker/config.json" ]; then
python3 -c "import json; cfg=json.load(open('${HOME}/.docker/config.json')); cfg['credsStore']=''; cfg.pop('credHelpers',None); json.dump(cfg,open('${DOCKER_CONFIG_DIR}/config.json','w'))"
else
echo '{"credsStore":""}' > "${DOCKER_CONFIG_DIR}/config.json"
fi
export DOCKER_CONFIG="${DOCKER_CONFIG_DIR}"
echo "DOCKER_CONFIG=${DOCKER_CONFIG_DIR}" >> "$GITHUB_ENV"

if [ -n "${NGC_API_KEY:-}" ]; then
echo "🔵 Logging into nvcr.io..."
docker login -u '$oauthtoken' -p "${NGC_API_KEY}" nvcr.io
else
echo "🟠 NGC_API_KEY not set - skipping nvcr.io login (normal for fork PRs)"
fi
Loading