[codex] Add validation hooks and PR CI#2
Merged
Merged
Conversation
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.
This change adds a shared validation path for the Fusion adapter and the committed fixture baseline, and wires that path into local development and pull request automation.
The immediate issue is that the repository had no enforced validation on commit, push, or pull request updates. That left two regression risks largely to manual discipline: accidental syntax or script-structure breakage in
FluidNC.cps, and drift in the checked-in NC fixture baseline. The effect on contributors is predictable but bad: a change can look locally harmless and still break the adapter or invalidate the expected-output corpus without any automatic gate catching it.The root cause is that the repository's validation tooling existed only as ad hoc scripts and path-specific instructions. The fixture validator depended on a hard-coded
C:\src\fluidnc-postscheckout path, local helper scripts assumed one machine layout, and there was no single command that both developers and CI could run to enforce the same checks.This PR fixes that in three parts. First, it makes the validation and helper scripts repo-relative instead of hard-coding a specific checkout root, and updates docs and fixture checklist text to use
<repo-root>or relative paths. Second, it adds adapter validation tooling through a no-execution syntax parse forFluidNC.cps, a targeted ESLint configuration appropriate for the Autodesk-hosted JavaScript style in the adapter, and npm scripts that exposevalidate:adapter,validate:fixtures, andvalidate. Third, it wires those commands into repo-managed Git hooks and a GitHub Actions workflow so the same validation path runs on local commits, local pushes, and pull requests.For users and contributors, the practical effect is tighter feedback at the right times. Commits now fail fast on adapter validation issues, pushes fail if either adapter or fixture validation regresses, and pull requests get the same Windows-based validation in GitHub before review. This still does not create a headless Fusion posting harness, but it does formalize the current committed-fixture regression model and makes it much harder to break silently.
Validation for this change was run locally through the same paths the PR will use:
npm run validate,npm run hooks:install, the repopre-commithook, and the repopre-pushhook. The full fixture run passed with 135 checks across 4 fixture families.