Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
settings.local.json
.nicc*
4 changes: 2 additions & 2 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Runs on every push and pull request to main branches. Includes:

- **unit-tests**: Cross-platform unit tests
- Runs on Ubuntu and Windows
- Python 3.10, 3.11, and 3.12
- Python 3.11 and 3.12
- Uses PyTorch CPU version to avoid GPU dependencies
- Excludes slow tests and tests requiring external data
- Generates coverage reports
Expand Down Expand Up @@ -83,7 +83,7 @@ The workflows use multiple caching layers to speed up builds:

### Important: GPU Tests Are Disabled by Default

⚠️ **GPU tests do NOT run automatically** to prevent jobs from waiting indefinitely in the queue when no runner is available.
**GPU tests do NOT run automatically** to prevent jobs from waiting indefinitely in the queue when no runner is available.

To run GPU tests, you must either:
1. **Manually trigger the workflow**: Go to Actions > CI > Run workflow
Expand Down
40 changes: 27 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ['3.10', '3.11', '3.12']
python-version: ['3.11', '3.12']

steps:
- name: Checkout code
Expand Down Expand Up @@ -79,7 +79,9 @@ jobs:
libxrender1 \
libxext6 \
libxrandr2 \
libxi6
libxi6 \
xvfb \
libosmesa6
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*

Expand All @@ -99,13 +101,20 @@ jobs:
run: |
pip list

- name: Run unit tests (fast, no external data)
- name: Run unit tests (fast, no external data) - Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
xvfb-run -a --server-args="-screen 0 1024x768x24" \
pytest tests/ -v -m "not slow and not requires_data and not experiment" --cov=physiomotion4d --cov-report=xml --cov-report=term --cov-report=html

- name: Run unit tests (fast, no external data) - Windows
if: matrix.os == 'windows-latest'
run: |
pytest tests/ -v -m "not slow and not requires_data and not experiment" --cov=physiomotion4d --cov-report=xml --cov-report=term --cov-report=html

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10'
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
Expand All @@ -115,7 +124,7 @@ jobs:

- name: Upload coverage artifacts
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10'
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
with:
name: coverage-report-unit-tests
path: htmlcov/
Expand Down Expand Up @@ -148,10 +157,10 @@ jobs:
echo "Disk space after cleanup:"
df -h

- name: Set up Python 3.10
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.11'
cache: 'pip'
cache-dependency-path: pyproject.toml

Expand Down Expand Up @@ -185,7 +194,9 @@ jobs:
libxrender1 \
libxext6 \
libxrandr2 \
libxi6
libxi6 \
xvfb \
libosmesa6
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*

Expand Down Expand Up @@ -218,17 +229,20 @@ jobs:

- name: Run USD conversion tests
run: |
pytest tests/test_convert_vtk_to_usd_polymesh.py -v -m "not slow" --cov=physiomotion4d --cov-append --cov-report=xml
xvfb-run -a --server-args="-screen 0 1024x768x24" \
pytest tests/test_convert_vtk_to_usd_polymesh.py -v -m "not slow" --cov=physiomotion4d --cov-append --cov-report=xml
continue-on-error: true

- name: Run USD utility tests
run: |
pytest tests/test_usd_merge.py tests/test_usd_time_preservation.py -v --cov=physiomotion4d --cov-append --cov-report=xml
xvfb-run -a --server-args="-screen 0 1024x768x24" \
pytest tests/test_usd_merge.py tests/test_usd_time_preservation.py -v --cov=physiomotion4d --cov-append --cov-report=xml
continue-on-error: true

- name: Run all integration tests
run: |
pytest tests/ -v -m "not slow and not experiment and not requires_gpu"
xvfb-run -a --server-args="-screen 0 1024x768x24" \
pytest tests/ -v -m "not slow and not experiment and not requires_gpu"
continue-on-error: true

- name: Upload coverage to Codecov
Expand Down Expand Up @@ -345,10 +359,10 @@ jobs:
with:
lfs: true

- name: Set up Python 3.10
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"
cache: 'pip'

- name: Install dev dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: '3.10'
python-version: '3.11'

- name: Install build tools
run: |
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ py -m pytest tests/ --ignore=tests/test_segment_chest_total_segmentator.py \
# With coverage
py -m pytest tests/ --cov=src/physiomotion4d --cov-report=html

# Experiment notebook tests (very slow, opt-in)
# Experiment script tests (very slow, opt-in)
py -m pytest tests/ --run-experiments

# Create missing baselines
Expand Down
Loading
Loading