WIP - CI with python-version: [3.11, 3.12] #165
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: 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: | | |
mamaba env create --name env python=${{ matrix.python-version }} | |
conda activate env | |
mamaba env update --name env --file environment.yml | |
- 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 |