diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..6a15550 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,70 @@ +name: CI - Tests & Checks + +on: + push: + branches: + - master + +jobs: + unit-tests: + name: Execute unit tests (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - '3.9' + - '3.10' + - '3.11' + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + cache-dependency-path: 'requirements/dev.txt' + + - name: Upgrade pip + run: pip install -U pip + + - name: Install marshmallow-generic + run: pip install -e '.[dev]' + + - name: Run unit tests for Python ${{ matrix.python-version }} + if: ${{ matrix.python-version != '3.11' }} + run: python -m tests + + - name: Run unit test coverage script for Python 3.11 and save total percentage + if: ${{ matrix.python-version == '3.11' }} + run: | + total=$(./scripts/test.sh) + [[ $? -eq 0 ]] && echo "coverage=${total}" >> $GITHUB_ENV + outputs: + coverage: ${{ env.coverage }} + + lint: + name: Run type checker and linters (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - '3.9' + - '3.10' + - '3.11' + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + cache-dependency-path: 'requirements/dev.txt' + + - name: Upgrade pip + run: pip install -U pip + + - name: Install dependencies + run: pip install -Ur requirements/dev.txt + + - name: Run checks + run: bash scripts/lint.sh diff --git a/src/marshmallow_generic/__init__.py b/src/marshmallow_generic/__init__.py index e1eb54b..4713a92 100644 --- a/src/marshmallow_generic/__init__.py +++ b/src/marshmallow_generic/__init__.py @@ -42,10 +42,8 @@ __all__ = [ ] from marshmallow import fields - -from marshmallow.decorators import ( +from marshmallow.decorators import ( # `post_load` overloaded post_dump, - # post_load, # overloaded pre_dump, pre_load, validates,