Prove the GUI freeze: docgen freeze, smoke, and Open bundle - #72
Draft
jmjava wants to merge 2 commits into
Draft
Conversation
Prove the GUI packaging path: docgen freeze builds the docgen-gui onedir, docgen gui --smoke checks / and /api/benchmark without a window, and the wizard can attach a consumer bundle at runtime. Pipeline routes stay disabled in a frozen shell. Co-authored-by: jmjava <jmjava@gmail.com>
PyInstaller copies the spec into the work dir, so locate the repo via DOCGEN_FREEZE_ROOT. Stop importing validate at manim_scene_support import time so the frozen binary can run the benchmark without OpenCV. Co-authored-by: jmjava <jmjava@gmail.com>
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.
Follow-up to #71: prove the PyInstaller path and make the frozen shell usable.
What this adds
docgen freeze— builds thedocgen-guionedir (pip install 'docgen[packaging]'). UsesDOCGEN_FREEZE_ROOTso PyInstaller’s copied spec still finds the repo.docgen gui --smoke/docgen freeze --smoke— headless GET/,/api/session,/api/benchmark. Default pytest covers the unfrozen smoke only. SetDOCGEN_FREEZE_SMOKE=1for the optional onedir test.pipeline_available: falseand blocks TTS / Manim / compose / OpenAI / tool-upgrade. Baseline updates stay disabled.manim_scene_supportno longer importsvalidateat module load, so the freeze can keep excludingcv2and still run the benchmark.Proven on Linux
docgen freeze --smokewrote the onedir binary and returned:{ "ok": true, "session": { "frozen": true, "pipeline_available": false, "has_bundle": false }, "case_id": "early_title", "html_has_benchmark": true, "meets_baseline": true }Not in this PR