WIP - CI with python-version: [3.11, 3.12] #169
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: Testing pytraj | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 5 | |
matrix: | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- name: Install prerequisite packages | |
run: | | |
sudo apt-get install -y gfortran libbz2-dev libblas-dev liblapack-dev libfftw3-dev clang cmake-data cmake | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install mamba | |
run: | | |
conda install mamba -n base -c conda-forge | |
- name: Add conda to system path | |
run: echo $CONDA/bin >> $GITHUB_PATH | |
- name: Install conda packages with mamba | |
run: | | |
echo " - python=${{ matrix.python-version }}" >> environment.yml | |
mamba env create -f environment.yml | |
conda activate env | |
- name: Install dependencies | |
run: | | |
curl -OL https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.2.tar.gz | |
tar -zxf v4.9.2.tar.gz | |
cd netcdf-c-4.9.2 | |
./configure --disable-byterange --disable-libxml2 --disable-netcdf-4 --disable-dap --disable-doxygen --prefix=$HOME | |
make -j2 | |
make install | |
cd .. | |
export PATH=$HOME/bin:$PATH | |
- name: Install cpptraj | |
run: | | |
git clone https://github.com/Amber-MD/cpptraj | |
cd cpptraj | |
export CPPTRAJHOME=`pwd` | |
yes | ./configure -shared -openmp gnu | |
make libcpptraj | |
cd ../ | |
- name: Install pytraj | |
run: python setup.py install | |
- name: Test with pytest | |
run: | | |
export CPPTRAJHOME=`pwd`/cpptraj | |
cd tests | |
pytest -vs --ignore=test_parallel_pmap --ignore=test_run_mpi.py --ignore=test_energy/test_pmap_sander.py --ignore=test_parallel_mpi --ignore=test_actionlist.py |