Tests #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
workflow_dispatch: # Only enable manual runs for now | |
workflow_call: # Make this workflow available to be called by other workflows | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# Define the Python versions to test against | |
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set Up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Install Poetry and Dependencies and run tests with coverage and upload test results and coverage reports as artifacts | |
- name: Install Poetry and Dependencies | |
run: | | |
pip install poetry | |
poetry install | |
- name: Run Tests with Coverage | |
run: | | |
poetry run pytest tests/ --doctest-modules --cov=mongo_analyser/ --cov-report xml \ | |
--junitxml=junit/test-results-${{ matrix.python-version }}.xml | |
continue-on-error: false | |
# Upload results to Codecov | |
- name: Upload results to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
flags: unittests | |
name: codecov-umbrella | |
fail_ci_if_error: false # Don't fail the CI if the upload fails | |
- name: Upload Test Results and Coverage Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results-and-coverage-${{ matrix.python-version }} | |
path: | | |
junit/test-results-${{ matrix.python-version }}.xml | |
htmlcov/ |