Skip to content

Conversation

@nv-apoddubny
Copy link
Collaborator

Description

Adds verification of multiple Isaac SIM versions, including 5.0.0, to the daily compatibility job

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR refactors the daily compatibility workflow to test multiple Isaac Sim versions (4.5.0 and 5.0.0) using a matrix strategy, and adds PR/push triggers for earlier detection of compatibility issues.

Key Changes:

  • Added setup-versions job to dynamically determine which Isaac Sim versions to test
  • Converted test jobs to use matrix strategy for parallel testing across versions
  • Added PR and push triggers to run tests on relevant path changes
  • Updated artifact naming to include version suffixes
  • Improved concurrency grouping to include event name
  • Streamlined artifact download to use pattern matching

Critical Issues Found:

  • .github/workflows/daily-compatibility.yml:243 - References removed env.ISAACSIM_DEFAULT_VERSION variable, will cause runtime error
  • .github/workflows/daily-compatibility.yml:246-247 - Uses undefined $TRIGGER_INFO and $ISAACSIM_VERSIONS shell variables, will output empty strings in report

Confidence Score: 1/5

  • This PR contains critical bugs that will cause workflow failures
  • Two critical logic errors introduced: undefined environment variable reference at line 243 and undefined shell variables at lines 246-247, both causing runtime failures
  • .github/workflows/daily-compatibility.yml needs immediate attention to fix undefined variable references

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/daily-compatibility.yml 1/5 Added Isaac Sim 5.0.0 testing via matrix strategy, but introduced undefined variables that will cause runtime failures

Sequence Diagram

sequenceDiagram
    participant Trigger as Workflow Trigger
    participant Setup as setup-versions Job
    participant Tasks as test-isaaclab-tasks-compat Job
    participant General as test-general-compat Job
    participant Combine as combine-compat-results Job
    participant Notify as notify-compatibility-status Job

    Trigger->>Setup: Start workflow (schedule/PR/push/manual)
    Setup->>Setup: Determine versions to test
    alt Manual trigger with version
        Setup->>Setup: Use specified version
    else Default
        Setup->>Setup: Use ["4.5.0", "5.0.0"]
    end
    Setup-->>Tasks: versions output
    Setup-->>General: versions output

    par Matrix: For each Isaac Sim version
        Tasks->>Tasks: Build Docker image
        Tasks->>Tasks: Run IsaacLab tasks tests
        Tasks->>Tasks: Upload test results artifact
    and
        General->>General: Build Docker image
        General->>General: Run general tests
        General->>General: Upload test results artifact
    end

    Tasks-->>Combine: Test results
    General-->>Combine: Test results
    
    Combine->>Combine: Download all test artifacts
    Combine->>Combine: Combine test results
    Combine->>Combine: Upload combined results
    Combine->>Combine: Report test results

    Combine-->>Notify: Results status
    Setup-->>Notify: versions output
    Notify->>Notify: Create compatibility report
    Notify->>Notify: Upload report artifact
Loading

1 file reviewed, 2 comments

Edit Code Review Agent Settings | Greptile


- name: Create Compatibility Report
run: |
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}"
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: env.ISAACSIM_DEFAULT_VERSION was removed but still referenced here

Suggested change
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}"
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || '4.5.0' }}"

Comment on lines +246 to +237
echo "$TRIGGER_INFO" >> compatibility-report.md
echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: $TRIGGER_INFO and $ISAACSIM_VERSIONS are undefined variables

        TRIGGER_INFO="**Trigger:** ${{ github.event_name }}"
        ISAACSIM_VERSIONS="${{ join(fromJson(needs.setup-versions.outputs.versions), ', ') }}"
        echo "$TRIGGER_INFO" >> compatibility-report.md
        echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 10, 2025

Greptile Overview

Greptile Summary

Enhanced the compatibility testing workflow to verify Isaac Sim 5.0.0 alongside 4.5.0. The PR introduces a matrix strategy that runs tests against multiple Isaac Sim versions in parallel, improving test coverage and efficiency.

Key changes:

  • Added new setup-versions job that defines default versions ["4.5.0", "5.0.0"] and handles manual version override via workflow_dispatch
  • Converted both test jobs (test-isaaclab-tasks-compat, test-general-compat) to use matrix strategy with isaacsim_version parameter
  • Updated artifact naming to include version suffix (e.g., isaaclab-tasks-compat-results-5.0.0) to prevent collisions
  • Modified Docker image tags to include version in the tag format
  • Fixed concurrency group typo (daily-compatibilit ycompatibility)
  • Updated report generation to display all tested versions using join() function
  • Changed download artifacts to use pattern matching (*-compat-results-*) with merge-multiple: true

Note: The previous comments flagging undefined variables at lines 232-236 are incorrect - TRIGGER_INFO and ISAACSIM_VERSIONS are properly defined before use.

Confidence Score: 5/5

  • This PR is safe to merge with no identified issues
  • The implementation is clean and well-structured. All variables are properly defined, the matrix strategy is correctly implemented, and artifact naming prevents collisions. The refactoring from a single-version test to multi-version matrix strategy follows GitHub Actions best practices. Previous comments claiming undefined variables were incorrect.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/daily-compatibility.yml 5/5 Refactors workflow to test multiple Isaac Sim versions (4.5.0, 5.0.0) using matrix strategy, fixes concurrency group typo, and improves artifact naming

Sequence Diagram

sequenceDiagram
    participant Trigger as Workflow Trigger<br/>(Schedule/Manual)
    participant Setup as setup-versions
    participant Tasks as test-isaaclab-tasks-compat
    participant General as test-general-compat
    participant Combine as combine-compat-results
    participant Notify as notify-compatibility-status

    Trigger->>Setup: Start workflow
    Setup->>Setup: Determine versions to test<br/>(manual input or ["4.5.0", "5.0.0"])
    Setup-->>Tasks: Output versions array
    Setup-->>General: Output versions array
    
    par For each Isaac Sim version
        Tasks->>Tasks: Checkout code
        Tasks->>Tasks: Build Docker image<br/>(version-specific tag)
        Tasks->>Tasks: Run IsaacLab tasks tests
        Tasks->>Tasks: Upload results artifact<br/>(isaaclab-tasks-compat-results-{version})
    and
        General->>General: Checkout code
        General->>General: Build Docker image<br/>(version-specific tag)
        General->>General: Run general tests
        General->>General: Upload results artifact<br/>(general-tests-compat-results-{version})
    end
    
    Tasks-->>Combine: Artifacts ready
    General-->>Combine: Artifacts ready
    
    Combine->>Combine: Download all test artifacts<br/>(pattern: *-compat-results-*)
    Combine->>Combine: Combine test results
    Combine->>Combine: Upload combined results
    Combine->>Combine: Generate test report
    
    Combine-->>Notify: Test results ready
    Setup-->>Notify: Versions tested
    
    Notify->>Notify: Create compatibility report<br/>(with all versions tested)
    Notify->>Notify: Upload report artifact
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

1 file reviewed, 2 comments

Edit Code Review Agent Settings | Greptile


- name: Create Compatibility Report
run: |
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}"
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: env.ISAACSIM_DEFAULT_VERSION no longer exists (removed on line 32)

Suggested change
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}"
TRIGGER_INFO="**Trigger:** ${{ github.event_name }}"
ISAACSIM_VERSIONS="${{ join(fromJson(needs.setup-versions.outputs.versions), ', ') }}"

Comment on lines +235 to +237
echo "$TRIGGER_INFO" >> compatibility-report.md
echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: $TRIGGER_INFO and $ISAACSIM_VERSIONS undefined - must define before using

Suggested change
echo "$TRIGGER_INFO" >> compatibility-report.md
echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md
TRIGGER_INFO="**Trigger:** ${{ github.event_name }}"
ISAACSIM_VERSIONS="${{ join(fromJson(needs.setup-versions.outputs.versions), ', ') }}"
echo "$TRIGGER_INFO" >> compatibility-report.md
echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

@kellyguo11 kellyguo11 merged commit 7cfd67c into isaac-sim:main Nov 13, 2025
8 of 9 checks passed
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.

2 participants