fixing ci pipeline for python3.9 and python3.13 #559
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
build-Linux: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get --no-install-recommends install \ | |
catch2 \ | |
libfreetype6-dev \ | |
libglew-dev \ | |
libglm-dev \ | |
libmsgpack-dev \ | |
libnetcdf-dev \ | |
libpng-dev \ | |
libxml2-dev | |
- name: Install collada2gltf | |
run: | | |
wget -nv https://anaconda.org/schrodinger/collada2gltf/2.1.4/download/linux-64/collada2gltf-2.1.4-h6bb024c_0.tar.bz2 | |
sudo tar xf collada2gltf-*.tar.bz2 -C / bin/collada2gltf | |
- name: Get additional sources | |
run: | | |
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git | |
cp -R mmtf-cpp/include/mmtf* include/ | |
- name: Build | |
run: | | |
pip install --upgrade pip | |
pip install -v --config-settings testing=True '.[dev]' | |
env: | |
DEBUG: 1 | |
- name: Test | |
run: | | |
pymol -ckqy testing/testing.py --run all | |
build-Windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
env: | |
CONDA_ROOT: ${{github.workspace}}\..\tmp\miniforge | |
CONDA_ENV_NAME: "testing_env" | |
CONDA_PREFIX: ${{github.workspace}}\..\tmp\miniforge\envs\testing_env | |
MINIFORGE_EXEC: ${{github.workspace}}\..\tmp\miniforge.exe | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download Miniforge | |
run: | | |
if (-Not (Test-Path -Path $env:CONDA_ROOT)) { | |
New-Item -ItemType Directory -Path $env:CONDA_ROOT | |
} | |
Invoke-WebRequest -Uri https://github.com/conda-forge/miniforge/releases/download/24.11.0-0/Miniforge3-24.11.0-0-Windows-x86_64.exe -OutFile $env:MINIFORGE_EXEC | |
Start-Process -Wait -FilePath $env:MINIFORGE_EXEC -ArgumentList "/S", "/D=$env:CONDA_ROOT" | |
- name: Add conda to PATH | |
run: | | |
echo "$env:CONDA_ROOT" | Out-File -Append -FilePath $env:GITHUB_PATH | |
echo "$env:CONDA_ROOT\Scripts" | Out-File -Append -FilePath $env:GITHUB_PATH | |
- name: Set up Miniforge | |
run: | | |
conda create -n $env:CONDA_ENV_NAME python=${{ matrix.python-version }} -y | |
activate $env:CONDA_ENV_NAME | |
conda install -y -c conda-forge -c schrodinger ` | |
libpng ` | |
freetype ` | |
glew ` | |
libxml2 ` | |
catch2=2.13.3 ` | |
glm ` | |
libnetcdf ` | |
collada2gltf ` | |
libffi ` | |
cxx-compiler | |
conda info | |
- name: Get additional sources | |
run: | | |
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git | |
Copy-Item -Recurse -Path mmtf-cpp/include/mmtf\* -Destination "$env:CONDA_PREFIX\Library\include" | |
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git | |
Copy-Item -Recurse -Path msgpack-c/include/msgpack\* -Destination "$env:CONDA_PREFIX\Library\include" | |
dir mmtf-cpp/include/mmtf | |
dir msgpack-c/include/msgpack | |
dir "$env:CONDA_ROOT\envs\$env:CONDA_ENV_NAME\Library\include" | |
- name: Build PyMOL | |
run: | | |
activate $env:CONDA_ENV_NAME | |
python -m pip install -v --config-settings testing=True .[dev] | |
- name: Test | |
run: | | |
activate $env:CONDA_ENV_NAME | |
pymol -ckqy testing\testing.py --run all | |
build-MacOS: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
env: | |
CONDA_ROOT: "/tmp/miniforge" | |
CONDA_ENV_NAME: "testing_env" | |
steps: | |
- uses: actions/[email protected] | |
- name: Download Miniforge | |
run: | | |
curl -L -o $CONDA_ROOT.sh https://github.com/conda-forge/miniforge/releases/download/24.11.0-0/Miniforge3-MacOSX-x86_64.sh | |
bash $CONDA_ROOT.sh -b -p $CONDA_ROOT | |
- name: Add conda to PATH | |
run: | | |
echo "${CONDA_ROOT}/bin" >> "$GITHUB_PATH" | |
- name: Set up Miniforge | |
run: | | |
conda create -n $CONDA_ENV_NAME python=${{ matrix.python-version }} | |
source activate $CONDA_ENV_NAME | |
conda install -y -c conda-forge -c schrodinger \ | |
libpng \ | |
freetype \ | |
glew \ | |
libxml2 \ | |
catch2=2.13.3 \ | |
glm \ | |
libnetcdf \ | |
collada2gltf | |
conda info | |
- name: Get additional sources | |
run: | | |
source activate $CONDA_ENV_NAME | |
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git | |
cp -R mmtf-cpp/include/mmtf* ${CONDA_PREFIX}/include/ | |
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git | |
cp -R msgpack-c/include/msgpack* ${CONDA_PREFIX}/include/ | |
- name: Build PyMOL | |
run: | | |
source activate $CONDA_ENV_NAME | |
export MACOSX_DEPLOYMENT_TARGET=12.0 | |
pip install -v --config-settings testing=True '.[dev]' | |
- name: Test | |
run: | | |
source activate $CONDA_ENV_NAME | |
pymol -ckqy testing/testing.py --run all | |