Skip to content

Conversation

@kellyguo11
Copy link
Contributor

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@kellyguo11 kellyguo11 marked this pull request as draft October 31, 2025 01:57
@github-actions github-actions bot added bug Something isn't working documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team infrastructure labels Oct 31, 2025
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 adds Windows CI support to the build pipeline and fixes Windows-specific test failures.

Major changes:

  • Added test-general-windows job in .github/workflows/build.yml that runs on self-hosted Windows GPU runners with PowerShell setup
  • Fixed Windows file locking issues in test files by properly closing tempfile.NamedTemporaryFile handles before use and adding PermissionError retry logic
  • Added new check-links.yml workflow for automated documentation link validation using lychee
  • Updated outdated documentation URLs for Isaac Sim forums and ETH Zurich Euler cluster

The Windows CI job installs Python 3.11, Isaac Sim 5.1.0, PyTorch with CUDA 12.8, and runs general tests excluding isaaclab_tasks. Results are uploaded as artifacts and combined with Linux test results.

Confidence Score: 4/5

  • Safe to merge with one syntax issue to verify in the Windows CI job
  • The PR makes solid improvements for Windows compatibility with proper file handle management and adds comprehensive CI infrastructure. Test file fixes follow correct Windows patterns (close handles, retry on PermissionError). However, there's a potential syntax issue with PowerShell backtick escaping in the Python multiline command that should be verified - Python's -c flag expects actual newlines, not \n` sequences.
  • .github/workflows/build.yml line 200 - verify the PowerShell Python command works correctly with backtick-escaped newlines

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/build.yml 4/5 Added Windows CI job with PowerShell setup, test execution, and artifact handling; integrated into existing workflow
scripts/tools/test/test_cosmos_prompt_gen.py 5/5 Fixed Windows-specific file handle issues by closing temp files before use and adding PermissionError retry logic
scripts/tools/test/test_hdf5_to_mp4.py 5/5 Fixed Windows file locking by closing temp file handles before h5py access and adding PermissionError retry logic
scripts/tools/test/test_mp4_to_hdf5.py 5/5 Fixed Windows file locking by closing temp files immediately and explicitly closing h5py file objects

Sequence Diagram

sequenceDiagram
    participant PR as Pull Request
    participant GHA as GitHub Actions
    participant Linux as Linux Runner
    participant Windows as Windows Runner
    participant Combine as Combine Results
    
    PR->>GHA: Trigger on PR
    
    par Parallel Test Execution
        GHA->>Linux: test-isaaclab-tasks job
        Linux->>Linux: Build Docker image
        Linux->>Linux: Run IsaacLab tasks tests
        Linux->>GHA: Upload test results artifact
        
        GHA->>Linux: test-general job
        Linux->>Linux: Build Docker image
        Linux->>Linux: Run general tests (exclude isaaclab_tasks)
        Linux->>GHA: Upload test results artifact
        
        GHA->>Windows: test-general-windows job
        Windows->>Windows: Checkout code
        Windows->>Windows: Create/verify Python 3.11 venv
        Windows->>Windows: Install Isaac Sim 5.1.0
        Windows->>Windows: Install PyTorch + CUDA 12.8
        Windows->>Windows: Install Isaac Lab dependencies
        Windows->>Windows: Run general tests via isaaclab.bat
        Windows->>Windows: Generate test report XML
        Windows->>GHA: Upload Windows test results artifact
    end
    
    GHA->>Combine: combine-results job
    Combine->>GHA: Download all test artifacts
    Combine->>Combine: Merge XML reports
    Combine->>GHA: Upload combined results
    Combine->>PR: Post test results comment

Loading

8 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

# Check if Isaac Sim is installed
Write-Host "Checking if Isaac Sim is already installed..."
$isaacsimCheck = python -c "try:`n import isaacsim`n print('installed')`nexcept:`n print('not_installed')" 2>&1
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: PowerShell backtick escaping in Python multiline string may not work correctly. Python's -c expects actual newlines, not backtick-n sequences.

Suggested change
$isaacsimCheck = python -c "try:`n import isaacsim`n print('installed')`nexcept:`n print('not_installed')" 2>&1
$isaacsimCheck = python -c @"
try:
import isaacsim
print('installed')
except:
print('not_installed')
"@ 2>&1

@github-actions github-actions bot added the isaac-mimic Related to Isaac Mimic team label Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team isaac-mimic Related to Isaac Mimic team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant