Skip to content

Commit

Permalink
refactor github test workflows, closes NOAA-OWP#35
Browse files Browse the repository at this point in the history
  • Loading branch information
hellkite500 committed Dec 9, 2022
1 parent c57245c commit e5ddee9
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 35 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 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: Python package
name: Calibration

on:
push:
Expand All @@ -15,27 +15,40 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
python-version: [3.7, 3.8, 3.9, '3.10', 3.11]

steps:
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f python/requirements.txt ]; then pip install -r python/requirements.txt; fi
pip install python/ngen_conf

- 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 --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 --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
- 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]"
# 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...
continue-on-error: ${{matrix.python-version == '3.11' }}

- name: Testing ngen_cal with pytest
run: |
source ./venv/bin/activate
pytest python/ngen_cal
28 changes: 3 additions & 25 deletions .github/workflows/ngen-conf.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 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: Python package
name: Configuration

on:
push:
Expand All @@ -15,13 +15,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
python-version: [3.7, 3.8, 3.9, '3.10', 3.11]

steps:
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -46,25 +46,3 @@ jobs:
run: |
source ./venv/bin/activate
pytest python/ngen_conf
- name: Cleaning up python virtual environment
run: |
# cleanup virtual environment
rm -rf venv
- 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]"
# 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
- name: Testing ngen_cal with pytest
run: |
source ./venv/bin/activate
pytest python/ngen_cal

0 comments on commit e5ddee9

Please sign in to comment.