Document parsing module #46
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: CI Pipeline | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.11", "3.12"] | |
steps: | |
# Step 1: Check out the repository code | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
# Step 2: Set up Python version | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Step 3: Install Poetry | |
- name: Install Poetry | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry | |
# Step 4: Validate and Update Poetry Lock File (if needed) | |
- name: Validate Poetry Lock File | |
run: | | |
if ! poetry check; then | |
echo "pyproject.toml and poetry.lock are out of sync. Regenerating poetry.lock..." | |
poetry lock --no-update | |
fi | |
# Step 5: Install Dependencies | |
- name: Install Dependencies | |
run: poetry install | |
# Step 6: Run Unit Tests with Coverage | |
- name: Run Unit Tests with Coverage | |
run: | | |
poetry run pytest --maxfail=3 --disable-warnings --cov=core --cov=methodologies --cov-report=xml --cov-report=html sequestrae_engine/tests/ | |
# Step 7: Upload Coverage Report as an Artifact (optional) | |
- name: Upload Coverage Report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: htmlcov/ |