Add yeast-GEM-derived shared modules (diff, annotation, conditions, biomass, curation) #28
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| # A push that obsoletes a previous run cancels it. | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| name: ruff | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - run: pip install --upgrade pip | |
| - run: pip install ruff | |
| - run: ruff check . | |
| test: | |
| name: pytest (py${{ matrix.python }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - run: pip install --upgrade pip | |
| # ``-e .[dev,plotting,excel]`` so every optional extra is exercised. | |
| # Gurobi is not installable on free runners; the relevant tests | |
| # skip themselves when ``optlang.gurobi_interface`` cannot import. | |
| - run: pip install -e ".[dev,plotting,excel]" | |
| - run: pytest -q --maxfail=5 --durations=20 | |
| docs: | |
| name: docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - run: pip install --upgrade pip | |
| # The package (with autodoc's import-time extras) plus the docs toolchain. | |
| - run: pip install -e ".[excel,plotting]" -r docs/requirements.txt | |
| # ``-W --keep-going`` keeps the docs build warning-clean; mirrors the | |
| # ReadTheDocs build (docs/conf.py + .readthedocs.yaml). | |
| - run: sphinx-build -b html -W --keep-going docs docs/_build/html |