name: Test package on: push: pull_request: workflow_dispatch: jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: platform: [ubuntu-latest, macos-latest, windows-latest] python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install requirements run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install -r requirements-test.txt - name: Run pre-commit run: | pre-commit run --all-files --show-diff-on-failure --verbose - name: Run tests run: | coverage run --append --source=benedict -m unittest coverage report --show-missing coverage xml -o ./coverage.xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: false files: ./coverage.xml flags: unittests verbose: true