Skip to content

Commit

Permalink
👷 Unified yml files for different python version into a single one
Browse files Browse the repository at this point in the history
  • Loading branch information
ferzcam committed Nov 19, 2024
1 parent 873df34 commit 3835d21
Show file tree
Hide file tree
Showing 6 changed files with 162 additions and 193 deletions.
48 changes: 0 additions & 48 deletions .github/workflows/python-package_3_10.yml

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/python-package_3_11.yml

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/python-package_3_12.yml

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/python-package_3_9.yml

This file was deleted.

4 changes: 3 additions & 1 deletion .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI

on: push
on:
push:
branches: ["main"]

jobs:
build:
Expand Down
159 changes: 159 additions & 0 deletions .github/workflows/unittests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# 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 Unit Tests

on:
push:
branches: [ "main", develop ]
pull_request:
branches: [ "main", develop ]

jobs:
python-3.9:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.9"]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: anaconda-client-env
environment-file: envs/environment_3_9.yml
auto-activate-base: false
channels: conda-forge
use-mamba: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 nose pinocchio nose-exclude coverage
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 mowl --count --exit-zero --max-complexity=20 --max-line-length=127 --statistics
- name: Test with nose
run: |
nosetests tests
python-3.10:

runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.10"]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: anaconda-client-env
environment-file: envs/environment_3_10.yml
auto-activate-base: false
channels: conda-forge
use-mamba: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest coverage pytest-faulthandler
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 mowl --count --exit-zero --max-complexity=20 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest -m "not slow" -p no:faulthandler
python-3.11:

runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.11"]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: anaconda-client-env
environment-file: envs/environment_3_11.yml
auto-activate-base: false
channels: conda-forge
use-mamba: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest coverage pytest-faulthandler
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 mowl --count --exit-zero --max-complexity=20 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest -m "not slow" -p no:faulthandler
python-3.12:

runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.12"]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: anaconda-client-env
environment-file: envs/environment_3_12.yml
auto-activate-base: false
channels: conda-forge
use-mamba: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest coverage pytest-faulthandler
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 mowl --count --exit-zero --max-complexity=20 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest -m "not slow" -p no:faulthandler

0 comments on commit 3835d21

Please sign in to comment.