140 lines
4.2 KiB
YAML
140 lines
4.2 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build-Linux:
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4.0.0
|
|
|
|
- name: Install system dependencies
|
|
run: >
|
|
sudo apt-get update;
|
|
sudo apt-get --no-install-recommends install
|
|
catch2
|
|
cmake
|
|
libfreetype6-dev
|
|
libglew-dev
|
|
libglm-dev
|
|
libmsgpack-dev
|
|
libnetcdf-dev
|
|
libpng-dev
|
|
libxml2-dev
|
|
python-is-python3
|
|
python3-biopython
|
|
python3-dev
|
|
python3-setuptools
|
|
python3-numpy
|
|
python3-pil
|
|
python3-pytest
|
|
python3-pip
|
|
|
|
- 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 .
|
|
env:
|
|
DEBUG: 1
|
|
|
|
- name: Test
|
|
run: |
|
|
pymol -ckqy testing/testing.py --run all
|
|
|
|
build-Windows:
|
|
|
|
runs-on: windows-latest
|
|
|
|
env:
|
|
CONDA_ROOT: ${{github.workspace}}\..\tmp\miniforge
|
|
MINIFORGE_EXEC: ${{github.workspace}}\..\tmp\miniforge.exe
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4.0.0
|
|
- name: Download Miniforge
|
|
shell: cmd
|
|
run: |-
|
|
if not exist %CONDA_ROOT% mkdir %CONDA_ROOT%
|
|
curl -L -o %MINIFORGE_EXEC% https://github.com/conda-forge/miniforge/releases/download/24.11.0-0/Miniforge3-24.11.0-0-Windows-x86_64.exe
|
|
start /wait %MINIFORGE_EXEC% /S /D=%CONDA_ROOT%
|
|
|
|
- name: Set up Miniforge
|
|
shell: cmd
|
|
run: |-
|
|
CALL %CONDA_ROOT%\\Scripts\\activate.bat
|
|
conda install -y -c conda-forge -c schrodinger python cmake libpng freetype pyside6 glew libxml2 numpy=1.26.4 catch2=2.13.3 glm libnetcdf collada2gltf biopython pillow msgpack-python pytest pip python-build
|
|
|
|
- name: Conda info
|
|
shell: cmd
|
|
run: |-
|
|
CALL %CONDA_ROOT%\\Scripts\\activate.bat
|
|
conda info
|
|
|
|
- name: Get additional sources
|
|
shell: cmd
|
|
run: |
|
|
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git
|
|
cp -R mmtf-cpp/include/mmtf* %CONDA_ROOT%/Library/include/
|
|
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git
|
|
cp -R msgpack-c/include/msgpack* %CONDA_ROOT%/Library/include/
|
|
|
|
- name: Build PyMOL
|
|
shell: cmd
|
|
run: |
|
|
CALL %CONDA_ROOT%\\Scripts\\activate.bat
|
|
pip install -v --config-settings testing=True .
|
|
|
|
- name: Test
|
|
shell: cmd
|
|
run: |
|
|
CALL %CONDA_ROOT%\\Scripts\\activate.bat
|
|
pymol -ckqy testing\\testing.py --run all
|
|
|
|
build-MacOS:
|
|
|
|
runs-on: macos-latest
|
|
|
|
env:
|
|
CONDA_ROOT: "/tmp/miniforge"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4.0.0
|
|
- name: Set up Miniforge and Build
|
|
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
|
|
export PATH="$CONDA_ROOT/bin:$PATH"
|
|
conda config --set quiet yes
|
|
conda install -y -c conda-forge -c schrodinger python cmake libpng freetype pyside6 glew libxml2 numpy=1.26.4 catch2=2.13.3 glm libnetcdf collada2gltf biopython pillow msgpack-python pytest pip python-build
|
|
conda info
|
|
|
|
- name: Get additional sources
|
|
run: |
|
|
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git
|
|
cp -R mmtf-cpp/include/mmtf* ${CONDA_ROOT}/include/
|
|
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git
|
|
cp -R msgpack-c/include/msgpack* ${CONDA_ROOT}/include/
|
|
|
|
- name: Build PyMOL
|
|
run: |-
|
|
export MACOSX_DEPLOYMENT_TARGET=12.0
|
|
export PATH="$CONDA_ROOT/bin:$PATH"
|
|
pip install -v --config-settings testing=True .
|
|
|
|
- name: Test
|
|
run: |-
|
|
export PATH="$CONDA_ROOT/bin:$PATH"
|
|
pymol -ckqy testing/testing.py --run all
|