Skip to content

Refactor CI.

Refactor CI. #46

Workflow file for this run

name: Lint and test
on:
workflow_dispatch:
push:
jobs:
linting:
runs-on: ubuntu-latest
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install dependencies β˜•οΈ
run: pip install .[dev]
- name: Lint πŸ”
run: ./tests/linting.sh
typecheck:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: ["38", "39", "310", "311"]
name: typecheck (python ${{ matrix.python }})
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install dependencies β˜•οΈ
run: pip install .[dev]
- name: Typecheck πŸ“‹
run: ./tests/typecheck.sh
unittest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: ["37", "38", "39", "310", "311"]
name: unittest (python ${{ matrix.python }})
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install dependencies β˜•οΈ
run: pip install .[dev]
- name: Test 🎒
run: ./tests/unittest.sh
pypi:
runs-on: ubuntu-latest
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup python 🐍
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies β˜•οΈ
run: |
pip install -U pip setuptools
pip install -U twine build
- name: Check bundling πŸ“¦
run: python -m build
- name: Check setup 🚦
run: twine check "dist/order-*.tar.gz"
coverage:
runs-on: ubuntu-latest
steps:
- name: Checkout ⬇️
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Install dependencies β˜•οΈ
run: pip install .[dev]
- name: Run coverage test 🎒
run: ./tests/coverage.sh
- name: Upload report πŸ”
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
flags: unittests
fail_ci_if_error: false