Skip to content

Bring CI to parity with ChoiceModels and add a documentation build - #66

Merged
smmaurer merged 2 commits into
mainfrom
maintenance/ci-parity
Sep 16, 2026
Merged

smmaurer merged 2 commits into
mainfrom
maintenance/ci-parity

Conversation

@smmaurer

Copy link
Copy Markdown
Member

Summary

Brings Orca's continuous integration up to the standard settled in ChoiceModels 0.3 and UrbanSim 3.3, and gets the documentation building cleanly so it can be checked on every pull request. Part of the maintenance work tracked in #63; groundwork for the automated publishing workflow, which will follow in a separate PR.

  • ci.yml: the forward boundary (Python 3.14 + latest dependencies) now also runs on macOS and Windows; a new "Package build and install" job builds the sdist and wheel, runs twine check --strict, and installs and imports the wheel from outside the source tree; a new "Documentation build" job runs Sphinx with warnings treated as errors. Every checkout sets persist-credentials: false, and the test jobs print the installed dependency versions. The existing job names (and so the required status checks on main) are unchanged.
  • .github/dependabot.yml: weekly grouped updates for GitHub Actions only, to keep the SHA pins current. No pip entry, since requirements-min.txt is a deliberately old constraint set.
  • Documentation: a docs extra in pyproject.toml (Sphinx, the RTD theme, numpydoc); conf.py drops the deprecated sphinx_rtd_theme.get_html_theme_path() call and the nonexistent _static path; a docstring underline in orca.py that numpydoc rejected is fixed. With those three changes the docs build with -W. docs/README.md now describes the .[docs] install and the strict build command.
  • README: the static "coverage 97%" badge is replaced with the CI workflow badge.
  • Version 1.9.dev1; changelog bullet expanded.

Verification

  • 74 tests pass on Python 3.14 with NumPy 2.5.3, pandas 3.0.5, PyTables 3.11.1.
  • Ruff passes.
  • sphinx-build -E -W --keep-going succeeds (it failed on two warnings before).
  • python -m build and twine check --strict pass on the sdist and wheel.
  • actionlint passes on the workflow.

Extend the CI workflow with macOS and Windows cells at the forward
boundary, a package build job (build, twine check --strict, wheel
install and import from outside the tree), and a Sphinx build with
warnings treated as errors; set persist-credentials: false on every
checkout and print dependency versions in the test jobs. Add a
Dependabot configuration for GitHub Actions only.

Add a docs extra to pyproject.toml, drop the deprecated theme-path
call and the missing _static path from the Sphinx config, and fix a
docstring underline that numpydoc rejected, so the documentation now
builds cleanly with -W. Update docs/README.md accordingly, replace the
static coverage badge in the README with the CI badge, and bump the
version to 1.9.dev1.
@smmaurer
smmaurer merged commit a35a7f2 into main Sep 16, 2026
7 checks passed
@smmaurer
smmaurer deleted the maintenance/ci-parity branch September 16, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant