build(kernel): 2-mode kernel build recipe + tagged CI job#395
Draft
mani-mathur-arch wants to merge 1 commit into
Draft
build(kernel): 2-mode kernel build recipe + tagged CI job#395mani-mathur-arch wants to merge 1 commit into
mani-mathur-arch wants to merge 1 commit into
Conversation
ec1e033 to
de9c139
Compare
Add a reproducible build recipe for the opt-in SEA-via-kernel backend and a CI job that exercises it, so the databricks_kernel-tagged path is built and unit-tested in CI instead of being dead code. - KERNEL_REV pins the kernel commit (PR #163 head) to build against. - cgo.go drops the machine-specific link line; per-platform cgo_<os>.go files carry ${SRCDIR}-relative LDFLAGS and force static linking (-l:...a). - build/kernel-lib.sh builds the kernel .a from source at KERNEL_REV (cargo --no-default-features --features tls-rustls), with a KERNEL_LOCAL_A override; Makefile adds kernel-lib / build-kernel / test-kernel and a kernel-lib-download stub for the future published-.a path. - go.yml gains build-and-test-kernel (CGO + rust + cargo-via-JFrog); the pure-Go CGO_ENABLED=0 jobs are untouched. Built artifacts are gitignored. Co-authored-by: Isaac
de9c139 to
38c283f
Compare
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.
What
Adds a reproducible build recipe for the opt-in SEA-via-kernel backend and a CI job that exercises it, so the
databricks_kernel-tagged path is built and unit-tested in CI instead of being dead code. This is the distribution follow-up that lets #393 leave draft.KERNEL_REVpins the kernel commit to build against (currently PR 163 head in the kernel, which carries the statement canceller the driver links; re-pin to the merge SHA once 163 lands).cgo.godrops the machine-specific link line; per-platformcgo_<os>.gofiles carry${SRCDIR}-relative LDFLAGS and force static linking (-l:…a). linux/amd64 is real; darwin/windows are documented stubs pending native runners.build/kernel-lib.shbuilds the kernel.afrom source atKERNEL_REV(cargo --no-default-features --features tls-rustls), with a rev-stamped cache short-circuit, aKERNEL_LOCAL_Aprebuilt-archive override, and a fail-loud guard against source cross-builds.Makefileaddskernel-lib/build-kernel/test-kerneland akernel-lib-downloadstub for the future published-.apath.go.ymlgainsbuild-and-test-kernel(CGO + rust + cargo-via-JFrog); the pure-GoCGO_ENABLED=0jobs are untouched. Built artifacts are gitignored.Multi-OS support comes via native per-OS runners (host == target) or staging a prebuilt
.a, not cross-compiling from source — matching the settled distribution design.Testing
make kernel-libbuilds the.a(reproducible sha256) from a clean clone, a cache-restored tree, and a leftover-source tree.make test-kernellinks the archive with CGO and passes thedatabricks_kernel-tagged unit tests (ok …/internal/backend/kernel).CGO_ENABLED=0 go build ./...still succeeds — default pure-Go build unaffected.GOOS≠ host) fails loud.Co-authored-by: Isaac