Repository navigation
Revert "build: engines ship on npm as @axiomcode/engine-<os>-<cpu>" (#478) - #903
Merged
Merged
Conversation
…478) Reverts f6ba1c2. The engine binaries work is not ready to ship, so it goes back to a pull request and #454 reopens with it. Not a plain revert, because two changes landed on top of it and both have to keep working: - #897 pinned the collation inside write_program, which #478 introduced. Reverting removes that function and would take the guard with it, and the restored executor has the same defect: its #include lines come from unguarded globs, so the cache key follows the user's locale. The guard is re-applied to the restored program generation, and engine-id-locale-test.sh now accepts either shape of the executor so it keeps measuring rather than failing for the wrong reason. Its --emit-program checks skip here, since that flag belongs to #478, and they report the skip rather than passing silently. - #887 added bin, files and dependencies, which are independent of the engine work and stay. optionalDependencies goes with the feature: nothing resolves a packaged engine any more, so those entries would name packages the executor never looks for. What comes back: the executor compiles with a local souffle and caches the binary, exactly as before #478. engine.conf, packaging/ and the two engine tests go with it.
swapnilpaliwal-sd
added a commit
that referenced
this pull request
Sep 18, 2026
Restores the work reverted in #903 so it can be reviewed before it ships. Unchanged from what was on main, with the fixes that landed on top of it kept: - the collation pin from #895 stays inside write_program, so the engine id is a function of the rules and not of the user's locale. Without it a published engine is refused for java and python on any machine with a UTF-8 collation, which is the common configuration. - bin, files and dependencies from #886 stay, so an install can actually run. optionalDependencies returns with the feature that reads them. Known gaps, both measured and neither fixed here: - linux-arm64 cannot install at all (#901). No dependency in the 0.21.x tree-sitter generation ships an arm64 prebuild, and a nested duplicate cannot build even with a toolchain. Unrelated to the engine: the install fails before any engine is resolved. - nothing builds the binaries while the CI workflows are out of the tree, so a release means building by hand on each platform.
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.
Reverts f6ba1c2 (#478). The engine binaries work is not ready to ship, so it goes back to a pull request and #454 reopens with it.
Not a plain revert
Two changes landed on top of #478 and both have to keep working.
#897, the locale fix, is preserved. It pinned the collation inside
write_program, which #478 introduced, so reverting would remove the function and take the guard with it. The restored executor has the same defect: its#includelines come from unguarded globs, so the compiled-binary cache key follows the user's locale. The guard is re-applied to the restored program generation.engine-id-locale-test.shnow accepts either shape of the executor,write_programor the inline generation, so it keeps measuring instead of failing for the wrong reason. Its--emit-programchecks skip here, because that flag belongs to #478, and they report the skip rather than passing silently.#887 stays, minus one field.
bin,filesanddependenciesare independent of the engine work: without them the published package installs and then cannot run.optionalDependenciesgoes with the feature, since nothing resolves a packaged engine any more and those entries would name packages the executor never looks for.What returns
The executor compiles with a local souffle and caches the binary, exactly as before #478.
engine.conf,packaging/and the two engine tests go with it.Verified
Both surviving preflights pass against the reverted tree:
package-contents18 checks,engine-id-locale1 check. Every gate the java preflight references still exists; the two that #478 added are removed from it along with their files.