Cleanup extra files and README fixes #219
This file contains hidden or 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: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - '**.py' | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| paths: | |
| - '**.py' | |
| schedule: | |
| # every week on monday | |
| - cron: "0 0 * * 1" | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: | |
| - "3.13" | |
| - "3.12" | |
| - "3.11" | |
| - "3.10" | |
| steps: | |
| - name: Secrets -> env | |
| uses: oNaiPs/secrets-to-env-action@v1 | |
| with: | |
| secrets: ${{ toJSON(secrets) }} | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Load cached venv | |
| id: cached-uv-dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: .venv | |
| key: venv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml', 'packages/*/pyproject.toml') }} | |
| - name: Install dependencies | |
| if: steps.cached-uv-dependencies.outputs.cache-hit != 'true' | |
| run: uv sync --all-packages --no-dev --no-group=docs | |
| - run: mkdir -p coverage | |
| - name: Run tests | |
| run: uv run --no-sync python scripts/run_tests.py | |
| env: | |
| COVERAGE_FILE: coverage/.coverage.py${{ matrix.python-version }} | |
| CONTEXT: py${{ matrix.python-version }} | |
| - name: Store coverage files | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-py${{ matrix.python-version }} | |
| path: coverage | |
| include-hidden-files: true | |
| coverage-combine: | |
| needs: [test] | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Load cached venv | |
| id: cached-uv-dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: .venv | |
| key: venv-Linux-3.10-${{ hashFiles('pyproject.toml', 'packages/*/pyproject.toml') }} | |
| - name: Install dependencies | |
| if: steps.cached-uv-dependencies.outputs.cache-hit != 'true' | |
| run: uv sync --all-packages --no-dev --no-group=docs | |
| - name: Get coverage files | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: coverage-* | |
| path: coverage | |
| merge-multiple: true | |
| - run: ls -la coverage | |
| - name: Combine coverage & report total | |
| run: | | |
| uv run --no-sync coverage combine coverage | |
| uv run --no-sync coverage report | |
| uv run --no-sync coverage html --title "Coverage for ${{ github.sha }}" | |
| - name: Store coverage HTML | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-html | |
| path: htmlcov | |
| include-hidden-files: true |