Skip to content

fixing ci pipeline for python3.9 and python3.13 #551

fixing ci pipeline for python3.9 and python3.13

fixing ci pipeline for python3.9 and python3.13 #551

Workflow file for this run

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"
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: |
activate $env:CONDA_ENV_NAME
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git
Copy-Item -Recurse -Path mmtf-cpp/include/mmtf* -Destination $env:CONDA_ROOT\envs\$env:CONDA_ENV_NAME\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_ROOT\envs\$env:CONDA_ENV_NAME\Library\include
- name: Build PyMOL
run: |
activate $Env:CONDA_ENV_NAME
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