ci: run lint, import, and build checks on PRs#78
Open
dustenhubbard wants to merge 1 commit into
Open
Conversation
Add a CI quality gate that runs on every pull request targeting main and every push to main. Three jobs: - lint: ruff check (critical-error set: syntax + undefined names, blocking) and compileall of the package. - build-and-import (Linux/macOS/Windows, Python 3.11): install from setup.py, verify the package imports and the PyReconstruct console entry point resolves, then build the wheel and run twine check. - test (Linux, Python 3.11, headless offscreen Qt): run the backend/geometry unit test subset. The build step builds the wheel only (python -m build --wheel): the source tree has no MANIFEST.in, so an sdist round-trip would drop required package data. The wheel is what the installers/updater consume. Ruff config lives in a standalone ruff.toml (not pyproject.toml) so it stays independent of the packaging metadata. The lint selection is the narrow "must-not-merge" set the current tree already passes. The matrix pins Python 3.11 only: the pinned PySide6==6.5.2 has no 3.12 wheel.
Collaborator
|
Will discuss in person. |
4765615 to
d975145
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a CI quality gate that runs on every PR targeting
mainand every push tomain. It does not build or publish installers; it checks that the tree lints clean on the critical-error set, compiles, imports with a working entry point, and produces a valid wheel.Jobs
ruff check .on the critical-error set (syntax + undefined names, blocking) andcompileallof the package.PyReconstructconsole entry point resolves, thenpython -m build --wheel+twine check.Notes
ruff format --checkstep. The tree is not auto-formatted, so a report-only format check would be a guaranteed no-op; omitted rather than manufacture false confidence. Can be added as a blocking step in a dedicated formatting change.Reviewer: Michael
Closes #75