@@ -10,13 +10,21 @@ concurrency:
1010 cancel-in-progress : ${{ github.event_name == 'pull_request' }}
1111
1212jobs :
13- generic-cpu :
13+ generic :
1414 strategy :
1515 fail-fast : false
1616 matrix :
1717 # See official Github documentation for details: https://shorturl.at/NJgsj
18- OS : [' ubuntu-22.04', ' ubuntu-24.04', ' macos-15', ' windows-2025' ]
18+ OS : [" ubuntu-22.04", " ubuntu-24.04", " macos-15", " windows-2025" ]
1919 PYTHON_VERSION : ["3.10", "3.11", "3.12"]
20+ PYTEST_FLAGS : ["-m required"]
21+ include :
22+ - OS : " macos-15-xlarge" # (MacOS Arm - Apple M1) 6CPU+8GPU, 14GB RAM, 14GB SSD
23+ PYTHON_VERSION : " 3.12"
24+ - OS : " gpu-t4-4-core" # (Linux x86) 4CPU, NVIDIA Tesla T4 16 GB VRAM, 28 GB RAM, 176 GB SSD
25+ PYTHON_VERSION : " 3.12"
26+ - OS : " win-gpu-t4-4-core" # (Windows x86) 4CPU, NVIDIA Tesla T4 16 GB VRAM, 28 GB RAM, 176 GB SSD
27+ PYTHON_VERSION : " 3.12"
2028
2129 env :
2230 HF_HUB_DOWNLOAD_TIMEOUT : 60
@@ -63,24 +71,30 @@ jobs:
6371
6472 echo "PYOPENGL_PLATFORM=osmesa" >> $GITHUB_ENV
6573
66- - name : Install system dependencies (Linux)
67- if : startsWith(matrix.OS, 'ubuntu-')
74+ - name : Install system dependencies (Linux CPU+GPU )
75+ if : startsWith(matrix.OS, 'ubuntu-') || contains(matrix.OS, 'gpu-t4-4-core')
6876 run : |
6977 sudo apt-get update
7078 sudo apt install -y \
7179 libgl1 \
7280 libegl1 \
73- libglvnd-dev \
74- libglew-dev \
81+ libgles2 \
7582 libegl-dev \
76- libx11-6 \
77- libxrender1 \
7883 libglib2.0-0 \
7984 libosmesa6-dev \
80- libglx-mesa0 \
8185 libglu1-mesa \
86+ libgl1-mesa-glx \
8287 libegl1-mesa-dev \
8388 libgles2-mesa-dev
89+ - name : Install system dependencies (Linux CPU only)
90+ if : startsWith(matrix.OS, 'ubuntu-')
91+ run : |
92+ sudo apt install -y \
93+ libglew-dev \
94+ libglvnd-dev \
95+ libxrender1 \
96+ libx11-6 \
97+ libglx-mesa0
8498 - name : Install python dependencies
8599 run : |
86100 pip install --upgrade pip setuptools pkg-info wheel
98112
99113 - name : Run unit tests
100114 run : |
101- pytest -v --forked -m required ./tests
115+ pytest -v --forked ${{ matrix.PYTEST_FLAGS }} ./tests
102116
103117 - name : Save Updated Taichi Kernel Cache
104118 if : always()
0 commit comments