feat: publish a debug-only firecracker binary (gdb-enabled)#26
Conversation
PR SummaryLow Risk Overview Reviewed by Cursor Bugbot for commit cd25338. Bugbot is set up for automated code reviews on this repo. Configure here. |
75f6b58 to
e080826
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e080826. Configure here.
For each FC version, also build and publish a debug variant alongside the prod binary: a release (optimized) build with debug symbols kept and the upstream gdb feature enabled (`--features gdb`), plus its split DWARF companion. Used only for debugging guest kernels on dev nodes. Published as `firecracker-debug` (+ `firecracker-debug.debug`) next to `firecracker`. Client nodes resolve the FC binary at exactly `<version>/<arch>/firecracker`, so the differently-named debug artifacts are never pulled by prod; the dev debugging workflow fetches them explicitly, matched to a snapshot's firecracker version. - build.sh: second build with `--features gdb`, emit firecracker-debug + repoint the debuglink to the renamed DWARF companion. - release.yml: build skip-check requires both prod and debug assets; publish attaches firecracker-debug-<arch>[.debug]; deploy uploads them to each env's GCS bucket at the firecracker-debug[.debug] name. - validate.py: the has_new_artifacts gate (which decides whether publish downloads and uploads the freshly built artifacts) now requires both the prod and the debug binary, so a release that already has the prod binary but not the debug one still gets published. - upload-release-to-gcs.sh: also uploads the debug artifacts to the parallel path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Nikita Kalyazin <nikita.kalyazin@e2b.dev>
e080826 to
cd25338
Compare

For each FC version, also build and publish a debug variant alongside the prod binary: a release (optimized) build with debug symbols kept and the upstream gdb feature enabled (
--features gdb), plus its split DWARF companion. Used only for debugging guest kernels on dev nodes.Published as
firecracker-debug(+firecracker-debug.debug) next tofirecracker. Client nodes resolve the FC binary at exactly<version>/<arch>/firecracker, so the differently-named debug artifacts are never pulled by prod; the dev debugging workflow fetches them explicitly, matched to a snapshot's firecracker version.--features gdb, emit firecracker-debug + repoint the debuglink to the renamed DWARF companion.