Release v1.0.0: modernize deps + biooracler parity #51
Workflow file for this run
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
| # Install Python dependencies, lint, and run tests across supported versions. | |
| # https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
| name: Python application | |
| on: | |
| push: | |
| branches: ["main"] | |
| pull_request: | |
| branches: ["main"] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "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 }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e ".[dev,xarray]" | |
| - name: Lint with ruff | |
| run: ruff check pyo_oracle tests | |
| - name: Lint with flake8 (syntax errors only) | |
| run: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
| - name: Test with coverage (unit tests only) | |
| run: | | |
| python -m pytest -m "not integration" \ | |
| --cov=pyo_oracle --cov-report=html --cov-report=term-missing tests/ | |
| - name: Upload coverage report | |
| if: matrix.python-version == '3.12' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: htmlcov/ | |
| integration: | |
| # Tests that hit the live Bio-ORACLE ERDDAP server. Allowed to fail so a | |
| # server hiccup doesn't block CI. | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e ".[dev,xarray]" | |
| - name: Run integration tests | |
| run: python -m pytest -m integration tests/ |