Skip to content

[Feature] Joint friction / frictionloss #420

[Feature] Joint friction / frictionloss

[Feature] Joint friction / frictionloss #420

Workflow file for this run

name: Generic
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
generic-cpu:
strategy:
fail-fast: false
matrix:
# See official Github documentation for details: https://shorturl.at/NJgsj
OS: ["ubuntu-22.04", "ubuntu-24.04", "macos-15", "windows-cpu-4-core"]
PYTHON_VERSION: ["3.10", "3.11", "3.12"]
env:
HF_HUB_DOWNLOAD_TIMEOUT: 60
GS_CACHE_FILE_PATH: ".cache/genesis"
TI_OFFLINE_CACHE: "1"
TI_OFFLINE_CACHE_CLEANING_POLICY: "never"
TI_OFFLINE_CACHE_FILE_PATH: ".cache/taichi"
TI_ENABLE_CUDA: "0"
TI_ENABLE_METAL: "0"
TI_ENABLE_OPENGL: "0"
TI_ENABLE_VULKAN: "0"
runs-on: ${{ matrix.OS }}
steps:
- name: Print system information (Windows)
if: startsWith(matrix.OS, 'windows-')
shell: pwsh
run: |
$cpu = Get-CimInstance -ClassName Win32_Processor
$ram = Get-CimInstance -ClassName Win32_ComputerSystem
[PSCustomObject]@{
CPU_Name = $cpu.Name
Physical_Cores = ($cpu | Measure-Object -Property NumberOfCores -Sum).Sum
Logical_Processors = ($cpu | Measure-Object -Property NumberOfLogicalProcessors -Sum).Sum
Total_RAM_GB = [math]::Round($ram.TotalPhysicalMemory / 1GB, 2)
}
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Restore Taichi Kernel Cache
if: always()
uses: actions/cache/restore@v4
with:
path: .cache
key: ${{ matrix.OS }}-${{ matrix.PYTHON_VERSION }}
restore-keys: |
${{ matrix.OS }}-${{ matrix.PYTHON_VERSION }}-
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.PYTHON_VERSION }}
- name: Install system dependencies (Windows)
if: startsWith(matrix.OS, 'windows-')
shell: bash
run: |
curl -L -o mesa.7z https://github.com/pal1000/mesa-dist-win/releases/download/25.1.5/mesa3d-25.1.5-release-msvc.7z
7z x mesa.7z -omesa
mv -v mesa/x64/* /C/Windows/System32/
- name: Install system dependencies (Linux)
if: startsWith(matrix.OS, 'ubuntu-')
run: |
sudo apt-get update
sudo apt install -y \
libgl1 \
libegl1 \
libglvnd-dev \
libglew-dev \
libegl-dev \
libx11-6 \
libxrender1 \
libglib2.0-0 \
libosmesa6-dev \
libglx-mesa0 \
libglu1-mesa \
libegl1-mesa-dev \
libgles2-mesa-dev
- name: Install python dependencies
run: |
pip install --upgrade pip setuptools pkg-info wheel
pip install torch
- name: Black Format Check
if: matrix.OS == 'ubuntu-22.04' && matrix.PYTHON_VERSION == '3.12'
run: |
pip install black
black --line-length 120 --check .
- name: Install Genesis
run: |
pip install -e '.[dev,render]'
- name: Run unit tests
run: |
pytest -v --logical --forked -m required ./tests
- name: Save Updated Taichi Kernel Cache
if: always()
uses: actions/cache/save@v4
with:
path: .cache
# Note that it is necessary to create a new archive systematically for now:
# See: https://github.com/actions/cache/issues/1594
key: ${{ matrix.OS }}-${{ matrix.PYTHON_VERSION }}-${{ github.run_id }}-${{ github.run_attempt }}