Skip to content

doc: fixed badge in README #69

doc: fixed badge in README

doc: fixed badge in README #69

name: Build pyquasoare
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_pyquasoare.yml
- name : Install hydrodiy package in conda env
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
mkdir -p src
cd src
git clone https://github.com/csiro-hydroinformatics/hydrodiy.git
cd hydrodiy
echo "--- hydrodiy install : located in $PWD ---"
pip install -e .
- name : Install pygme package in conda env
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
mkdir -p src
cd src
git clone https://github.com/csiro-hydroinformatics/pygme.git
cd pygme
echo "--- pygme install : located in $PWD ---"
pip install -e .
- name : Install pyquasoare package in conda env
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
echo "--- pyquasoare install : located in $PWD ---"
pip install -e .
- name: Lint with flake8
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
flake8 src/pyquasoare
- name: Run tests
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
echo "--- pyquasoare test : located in $PWD ---"
pytest --ignore=src/pygme --ignore=src/hydrodiy --doctest-modules src
pytest --ignore=src/pygme --ignore=src/hydrodiy --ntry=100 --cov=pyquasoare --cov-report=xml --cov-report=html -cov-report=missing-term tests
- name: Parse coverage report and create badge
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
python -c "import xml.etree.ElementTree as ET; from anybadge import Badge; cov = float(ET.parse('coverage.xml').getroot().get('line-rate')) * 100; covbadge = Badge('Coverage', value=f'{cov:0.0f}%', thresholds={60:'red', 70:'orange', 80:'lightgreen', 90:'green'}); covbadge.write_badge('coverage_badge.svg', True)"
- name: Update gist badge
run: |
sed 's/\"/\\\"/g' coverage_badge.svg > coverage_badge.txt
echo "{\"files\": {\"coverage_badge.svg\": {\"content\": \"$(cat coverage_badge.txt)\"}}}" > coverage_badge.json
curl -X PATCH -H "Authorization: token ${{ secrets.COVERAGE_GIST_TOKEN }}" \
-d @coverage_badge.json \
"https://api.github.com/gists/${{ secrets.COVERAGE_GIST_ID }}"
- name: Upload pytest test log files
uses: actions/upload-artifact@v4
with:
name: pytest-logs
path: tests/*.log
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: pytest-coverage
path: htmlcov/*.*
- name: Run examples
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate env_pyquasoare
cd $GITHUB_WORKSPACE
echo "--- pyquasoare examples : located in $PWD ---"
python examples/run_all_examples.py
cd examples/quadroute
./compile_unix.sh
cd ../vicmod
./compile_unix.sh