Modifying CONTRIBUTING.md with more info. #355
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Calibration | |
on: | |
push: | |
branches: master | |
pull_request: | |
branches: master | |
jobs: | |
build: | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Lint with flake8 | |
run: | | |
pip install -U pip | |
pip install flake8 | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 ./python/ngen_cal --count --select=E9,F63,F7,F82 --show-source --statistics | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 ./python/ngen_cal --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
- name: Installing libnetcdf | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --fix-missing libnetcdf-dev | |
- name: Installing ngen_cal in python virtual environment | |
run: | | |
# setup virtual environment | |
python -m venv venv | |
source ./venv/bin/activate | |
# upgrade pip | |
pip install -U pip | |
pip install "python/ngen_cal[develop,netcdf]" | |
# NOTE: Install checked out version of ngen_conf. | |
# This ensure ngen_cal tests test against ngen_conf source checked out by the runner. | |
pip install python/ngen_conf | |
#3.11 on GH runner can't install tables correctly, so this will fail... | |
#appearently this doesn't do what I want, it still cancels any outstanding jobs... | |
#for now, just turning off 3.11 for this test... | |
#continue-on-error: ${{matrix.python-version == 3.11 }} | |
- name: List dependency versions | |
run: | | |
source ./venv/bin/activate | |
pip freeze | |
- name: Testing ngen_cal with pytest | |
run: | | |
source ./venv/bin/activate | |
pytest python/ngen_cal |