Repository navigation
Add FreeCAD executor CI (freecad-smoke) + roadmap and dependency/doc sync - #11
Merged
Merged
Conversation
…AD 1.1.4 AppImage (cached download, AppRun pip deps, freecadcmd smoke run with an ALL CHECKS PASSED / FAILED sentinel because freecadcmd exits 0 when a script raises); harden freecad_smoke_test.py (flushed per-check output, duplicate-invocation guard now exits non-zero, addon-import failures print their root cause); ROADMAP.md phases 1-4; pyproject/README/CHANGELOG/VERIFY dependency and doc sync
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.
Why
The geometry core is covered by the headless pytest matrix, but the thin FreeCAD adapter (the PartDesign executor) can only be exercised inside FreeCAD itself. Issues #3-#8 were all field-discovered executor regressions the core suite cannot see. This adds a second CI job that runs the full smoke test in a real FreeCAD build on every push and PR.
What
AppRun python -m pip, smoke test run underfreecadcmd. Becausefreecadcmdexits 0 even when a script raises (it prints "Exception while processing file" and swallows the failure), the step additionally requires the script'sALL CHECKS PASSED/FAILED:sentinel in the log.freecadcmddrops unflushed Python stdout onsys.exit(), which would hide every[PASS]/[FAIL]line in the CI log;pyproject.tomlruntime deps now includeshapely/rtree(they were dev-only extras while the workbench's runtime gate and README already required them); README test count (500+), project layout, and CI description updated; CHANGELOG Unreleased section; VERIFY.md notes the AppImage baseline is now CI-gated.Verification
FAILED:sentinel; mid-run crash → sentinel absent → CI step fails; script copied out of the repo → visible traceback + exit 1.Note: the new CI job runs on this PR itself, so a green
freecad-smokecheck here is the first in-CI validation of the whole recipe.