diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dacad3e..c5b7a35 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: Set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install dependencies diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 89aada1..d6583f5 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.8, 3.9, '3.10'] + python-version: [3.8, 3.9, '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 @@ -19,7 +19,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - python setup.py install + python -m pip install . pip install --upgrade flake8 pylint pytest pytest-cov pytest-asyncio pytest-httpserver black mypy isort - name: Check code style with black run: | @@ -38,4 +38,31 @@ jobs: pylint -d 'C0111' solax tests - name: Test with pytest run: | - pytest --cov=solax --cov-fail-under=100 --cov-branch --cov-report=term-missing . + pytest --cov=solax --cov-branch --cov-report=term-missing . + mv .coverage .coverage.${{ matrix.python-version }} + - name: Upload coverage + uses: actions/upload-artifact@v4 + with: + name: .coverage-${{ matrix.python-version }} + path: .coverage.${{ matrix.python-version }} + if-no-files-found: error + + coverage: + runs-on: ubuntu-latest + needs: [build] + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: 3.12 + - name: Download coverage files + uses: actions/download-artifact@v4 + with: + merge-multiple: true + - name: Coverage combine + run: | + python -m pip install --upgrade pip + pip install --upgrade coverage + coverage combine + coverage report -m --fail-under=100