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: Python Package using Conda | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 5 | |
matrix: | |
python-version: ["3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout nglview repository | |
uses: actions/checkout@v4 | |
- name: Cache conda | |
uses: actions/cache@v4 | |
env: | |
CACHE_NUMBER: 1 # Increase this value to reset cache if environment.yml has changed | |
with: | |
path: ~/conda_pkgs_dir | |
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('.github/workflows/environment.yml') }} | |
- name: Set up Miniconda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: false | |
activate-environment: pytraj-gha | |
environment-file: .github/workflows/environment.yml | |
mamba-version: "*" | |
channels: conda-forge | |
channel-priority: true | |
python-version: ${{ matrix.python-version }} | |
- name: Install prerequisite packages | |
run: | | |
sudo apt-get install gfortran | |
sudo apt-get install libbz2-dev | |
sudo apt-get install libblas-dev liblapack-dev | |
sudo apt-get install libfftw3-dev | |
sudo apt-get install clang | |
sudo apt-get install cmake-data cmake | |
- name: Install cpptraj 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: | | |
which python3 | |
python3 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 |