Repository navigation
feat(cli): make sqlbuild a small forwarder to sqb - #1333
Merged
Merged
Conversation
sqlbuild was a second full copy of the sqb launcher. It now finds the sqb installed beside it and hands over the same arguments and streams: exec on Unix, a child that alone handles Ctrl+C and Ctrl+Break on Windows. Without sqb beside it, it names the missing program and exits 1. The bin compiles only the launcher hand-off file, so it stays at about 0.37 MB stripped instead of 6.4 MB when linking the library. Validated locally on Linux: forwarder integration tests, clippy, fensu, and Windows clippy of the bin and tests. Windows tests run in CI.
Windows runners keep the temporary directory and the build on different drives, where hard links fail, so the tests copy the forwarder instead. The size summary reads the wheels from the workspace, because the smoke step has already changed directory. Validated locally on Linux: forwarder tests, fensu, and the summary block under bash -eo pipefail.
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
sqlbuildexecutable was a second full copy of thesqblauncher, which roughly doubled the size of every wheel and installation.Changes
sqlbuildis now a small forwarder. It finds thesqbinstalled beside it and runs it with the same arguments and streams. On Unix it execssqb. On Windows it waits on a child process, and only the child handles Ctrl+C and Ctrl+Break. Ifsqbis missing, it printssqlbuild: cannot find sqb beside …; reinstall sqlbuild-cliand exits 1.sqlbuild --version, checks that an unknown command exits 2, and writes a size summary.Verification
make check-ci.sqlbuild