Skip to content

Improve workflows to use github caches #182

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Oct 26, 2023
Merged
33 changes: 33 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: linting

# Triggers the workflow on push for all branches
on: [push]

jobs:
lint:
runs-on: ubuntu-latest
steps:
# Check out repo and set up Python
- uses: actions/checkout@v3
with:
lfs: true

# Use cached python and dependencies, install poetry
- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: 3.8
poetry-version: 1.2.2

# Linting steps, excute all linters even if one fails
- name: pycodestyle
run:
poetry run pycodestyle --ignore=E203,E501,W503 sed tests
- name: pylint
if: ${{ always() }}
run:
poetry run pylint --good-names=i,j,k,ex,x,y,t,k,v,ax,df,ec,mc,dc,ct --disable=fixme,too-many-branches,too-many-locals,too-many-statements,too-many-arguments,too-many-lines,too-many-public-methods,too-many-instance-attributes,too-few-public-methods sed tests
- name: mypy
if: ${{ always() }}
run:
poetry run mypy --ignore-missing-imports --follow-imports=silent --no-strict-optional sed tests
47 changes: 0 additions & 47 deletions .github/workflows/pylint.yml

This file was deleted.

34 changes: 0 additions & 34 deletions .github/workflows/pytest_coveralls.yml

This file was deleted.

40 changes: 0 additions & 40 deletions .github/workflows/pytest_muliversion.yml

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/testing_coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: pytest and coverage report

# Triggers the workflow on push and PR for all branches
on: [push, pull_request]

jobs:
pytest:
runs-on: ubuntu-latest
steps:
# Check out repo and set up Python
- name: Check out the repository
uses: actions/checkout@v4
with:
lfs: true

# Use cached python and dependencies, install poetry
- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: 3.8
poetry-version: 1.2.2

# Run pytest with coverage report, saving to xml
- name: Run tests on python 3.8
run: |
poetry run pytest --cov --cov-report xml:cobertura.xml --full-trace --show-capture=no -sv -n auto tests/

# Take report and upload to coveralls
- name: Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
file: ./cobertura.xml
30 changes: 30 additions & 0 deletions .github/workflows/testing_multiversion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: pytest multiversion

on:
push:
branches: [ main ]

jobs:
pytest:
# Using matrix strategy
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10"]
runs-on: ubuntu-latest
steps:
# Check out repo and set up Python
- name: Check out the repository
uses: actions/checkout@v4
with:
lfs: true

- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: ${{matrix.python-version}}
poetry-version: 1.2.2

# Use cached python and dependencies, install poetry
- name: Run tests on python ${{matrix.python-version}}
run: |
poetry run pytest--full-trace --show-capture=no -sv -n auto tests/
Loading