add instructions for quick install #150
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: Test PnetCDF-C latest official release | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.txt' | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.txt' | |
jobs: | |
build-linux: | |
name: Python (${{ matrix.python-version }}) | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
env: | |
MPICH_VERSION: 4.2.2 | |
MPICH_DIR: ${{ github.workspace }}/mpich-install | |
PNETCDF_VERSION: 1.13.0 | |
PNETCDF_DIR: ${{ github.workspace }}/PnetCDF-install | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Ubuntu Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install m4 | |
- name: Build MPICH | |
run: | | |
echo "Install MPICH ${MPICH_VERSION} in $MPICH_DIR" | |
rm -rf MPICH ; mkdir MPICH ; cd MPICH | |
wget -q https://www.mpich.org/static/downloads/${MPICH_VERSION}/mpich-${MPICH_VERSION}.tar.gz | |
gzip -dc mpich-${MPICH_VERSION}.tar.gz | tar -xf - | |
cd mpich-${MPICH_VERSION} | |
./configure --prefix=$MPICH_DIR \ | |
--silent \ | |
--enable-romio \ | |
--with-file-system=ufs \ | |
--with-device=ch3:sock \ | |
--enable-shared\ | |
--disable-fortran \ | |
CC=gcc | |
make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 | |
make -s -j 4 distclean >> qout 2>&1 | |
- name: Build PnetCDF-C official release | |
run: | | |
echo "Download and build PnetCDF-C release version ${PNETCDF_VERSION}" | |
wget -q https://parallel-netcdf.github.io/Release/pnetcdf-${PNETCDF_VERSION}.tar.gz | |
tar -xzf pnetcdf-${PNETCDF_VERSION}.tar.gz | |
pushd pnetcdf-${PNETCDF_VERSION} | |
./configure --prefix=$PNETCDF_DIR \ | |
--silent \ | |
--enable-shared \ | |
--enable-debug \ | |
--disable-fortran \ | |
--disable-cxx \ | |
--with-mpi=$MPICH_DIR | |
make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 | |
make -s -j 4 distclean >> qout 2>&1 | |
popd | |
- name: Install python dependencies via pip | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install numpy cython cftime pytest twine check-manifest | |
export MPICC=$MPICH_DIR/bin/mpicc | |
pip install mpi4py | |
pip install torch torchvision | |
- name: Install PnetCDF-Python | |
run: | | |
export CC=$MPICH_DIR/bin/mpicc | |
pip install --verbose --no-build-isolation -e . | |
- name: Test PnetCDF-Python | |
run: | | |
export PATH=${MPICH_DIR}/bin:${PATH} | |
make ptests | |
- name: Re-install PnetCDF-Python from source distribution | |
run: | | |
pip uninstall -y pnetcdf | |
make install-clean | |
export CC=$MPICH_DIR/bin/mpicc | |
python setup.py sdist | |
pip install --verbose dist/pnetcdf-*.tar.gz | |
- name: Test PnetCDF-Python | |
run: | | |
export PATH=${MPICH_DIR}/bin:${PATH} | |
make ptests | |
# - name: Tarball | |
# run: | | |
# export PATH=${NETCDF_DIR}/bin:${PATH} | |
# python setup.py --version | |
# check-manifest --version | |
# check-manifest --verbose | |
# pip wheel . -w dist --no-deps | |
# twine check dist/* |