Skip to content

Feature/csvpath (#33) #121

Feature/csvpath (#33)

Feature/csvpath (#33) #121

name: Build hydrodiy
on: [push]
jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: '3.10'
- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
- name: Create conda environment if needed
run: |
source $CONDA/etc/profile.d/conda.sh
conda env create -f env_hydrodiy.yml
- name : Install hydrodiy package in conda env
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_hydrodiy
pip install -e .
- name: Lint with flake8
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_hydrodiy
cd $GITHUB_WORKSPACE
flake8 --exclude src/hydrodiy/data/tests src/hydrodiy/data
flake8 --exclude src/hydrodiy/gis/tests,src/hydrodiy/gis/data src/hydrodiy/gis
flake8 --exclude src/hydrodiy/io/tests,src/hydrodiy/io/script_template_plot.py,src/hydrodiy/io/script_template_simple.py src/hydrodiy/io
flake8 --exclude src/hydrodiy/plot/tests src/hydrodiy/plot
flake8 --exclude src/hydrodiy/stat/tests,src/hydrodiy/stat/data src/hydrodiy/stat
- name: Run tests
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_hydrodiy
pytest --cov=hydrodiy --cov-config=.coveragerc --junitxml=junit/test-results.xml --cov-report=xml --cov-report=html src/hydrodiy
- name: Upload pytest test results
uses: actions/upload-artifact@v3
with:
name: pytest-results
path: junit/test-results.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
- name: Upload to codecov
uses: codecov/codecov-action@v3
- name: Run examples
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_hydrodiy
python examples/run_all_examples.py