1717 matrix :
1818 python : ['3.12', '3.13']
1919 package : ['cpu'] # Start with CPU, add GPU later
20-
20+
2121 steps :
2222 - name : Checkout
2323 uses : actions/checkout@v4
@@ -39,26 +39,26 @@ jobs:
3939 # Build configuration
4040 CIBW_BUILD : cp${{ matrix.python == '3.12' && '312' || '313' }}-manylinux_x86_64
4141 CIBW_SKIP : pp* *-musllinux_*
42-
42+
4343 # Use manylinux_2_28 for Colab compatibility (glibc 2.28+)
4444 CIBW_MANYLINUX_X86_64_IMAGE : manylinux_2_28
45-
45+
4646 # Install build dependencies in the manylinux container
4747 # This is the critical part - we need all momentum dependencies
4848 CIBW_BEFORE_ALL_LINUX : |
4949 set -e
5050 echo "=== Installing system packages ==="
5151 yum install -y wget tar gzip bzip2 gcc-c++ make cmake3 ninja-build git
5252 ln -sf /usr/bin/cmake3 /usr/bin/cmake || true
53-
53+
5454 echo "=== Setting up Miniforge3 for conda dependencies ==="
5555 wget -q https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -O miniforge.sh
5656 bash miniforge.sh -b -p /opt/miniforge3
5757 rm miniforge.sh
5858 export PATH="/opt/miniforge3/bin:$PATH"
5959 conda init bash
6060 source /root/.bashrc || true
61-
61+
6262 echo "=== Installing momentum dependencies via conda-forge ==="
6363 conda create -y -n momentum -c conda-forge python=${{ matrix.python }} \
6464 'libboost-devel>=1.84' \
@@ -86,21 +86,21 @@ jobs:
8686 'pybind11>=2.13' \
8787 'scikit-build-core>=0.10' \
8888 'setuptools-scm>=8'
89-
89+
9090 echo "=== Conda environment ready ==="
9191 conda info
9292 conda list -n momentum
93-
93+
9494 # Set environment variables for the build
9595 CIBW_ENVIRONMENT_LINUX : |
9696 PATH="/opt/miniforge3/envs/momentum/bin:$PATH"
9797 CMAKE_PREFIX_PATH="/opt/miniforge3/envs/momentum"
9898 LD_LIBRARY_PATH="/opt/miniforge3/envs/momentum/lib:$LD_LIBRARY_PATH"
9999 PKG_CONFIG_PATH="/opt/miniforge3/envs/momentum/lib/pkgconfig"
100-
100+
101101 # Build command
102102 CIBW_BUILD_FRONTEND : " build"
103-
103+
104104 # Repair wheel - exclude PyTorch and CUDA libraries
105105 CIBW_REPAIR_WHEEL_COMMAND_LINUX : |
106106 auditwheel repair \
@@ -111,7 +111,7 @@ jobs:
111111 --exclude 'libnv*.so*' \
112112 -w {dest_dir} \
113113 {wheel}
114-
114+
115115 # Test the wheel after repair
116116 CIBW_TEST_REQUIRES : pytest numpy scipy
117117 CIBW_TEST_COMMAND : pytest {project}/pymomentum/test/*.py -k "not (test_save_motions or test_fbx)" || true
@@ -139,7 +139,7 @@ jobs:
139139 strategy :
140140 matrix :
141141 python : ['3.12']
142-
142+
143143 steps :
144144 - name : Set up Python
145145 uses : actions/setup-python@v5
0 commit comments