improve(build): add make build-dev for a dev CLI - #3468
Draft
Dave Shoup (shouples) wants to merge 3 commits into
Draft
improve(build): add make build-dev for a dev CLI#3468Dave Shoup (shouples) wants to merge 3 commits into
make build-dev for a dev CLI#3468Dave Shoup (shouples) wants to merge 3 commits into
Conversation
|
🎉 All Contributor License Agreements have been signed. Ready to merge. |
airlock-confluentinc
Bot
force-pushed
the
djs/channel-state-dir
branch
from
August 21, 2026 22:33
d825ade to
8fead41
Compare
airlock-confluentinc
Bot
force-pushed
the
djs/dev-build-tooling
branch
from
August 21, 2026 22:38
3486184 to
eae5436
Compare
make build-dev for a dev CLI
airlock-confluentinc
Bot
force-pushed
the
djs/channel-state-dir
branch
from
August 21, 2026 23:23
8fead41 to
2e8e322
Compare
make build-dev compiles confluent-dev onto your PATH with a dev version stamp, so it reports the dev release channel and keeps its state in ~/.confluent-dev, isolated from an installed release's ~/.confluent (the isolation mechanism itself landed in the parent commit). Documented in CONTRIBUTING, and the tutorial's run step now points at it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The prior regeneration ran on macOS (BSD diff), which emits different unified-diff hunk grouping than the GNU diff CI uses to regenerate and compare the patch, so the drift check failed. Regenerated with GNU diff to match CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
airlock-confluentinc
Bot
force-pushed
the
djs/dev-build-tooling
branch
from
August 21, 2026 23:24
eae5436 to
7c7203f
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.


Release Notes
No user-facing changes. This adds a contributor build target and documents it; nothing ships in the CLI binary.
Checklist
Whatsection below whether this PR applies to Confluent Cloud, Confluent Platform, or both.Test & Reviewsection below.Blast Radiussection below.Cloud/Platform verification, tests, and feature-flag items are N/A: this adds a
maketarget and docs, with no shipped-binary or command behavior to test.What
Builds on the channel-state isolation below it to give contributors a one-command dev binary.
make build-devcompilesconfluent-devonto yourPATH(default~/.local/bin/confluent-dev); because a local build reports the dev channel, it keeps its state in~/.confluent-dev, isolated from the~/.confluentof any installed release - so you can hack on the CLI without logging out of your real one. Unlike the coverage-instrumented test builds, it keeps debug symbols sodelvecan attach.CONTRIBUTING.mdgains a "Running a Dev Build" section (including the caveat thatlogin --savestill shares the macOS keychain across channels), andAGENTS.mdlists the new target.Note: this edits the⚠️ ask first" file in
Makefile, which is a "AGENTS.md's edit-zone table - it adds a new target and touches no existing recipe. Editing theMakefilecarries one non-obvious obligation: the Debian packaging build derivesdebian/patches/standard_build_layout.patchfromdiff Makefile debian/Makefile, so anyMakefilechange makes that checked-in patch stale. It's been regenerated here (make generate-packaging-patch) to keep CI green - that regeneration, not the new target, accounts for most of this diff's line count.Applies to: neither Cloud nor Platform. Contributor tooling only.
Blast Radius
No customer impact - nothing here ships in the CLI binary. Contributor-facing only: a broken target would fail at
make build-devon a developer's machine, visibly and immediately, with no effect on released builds or CI.References
channel-state-dir, which provides the~/.confluent-devisolation this target relies on.Test & Review
make build-devproduces~/.local/bin/confluent-dev;confluent-dev versionreports the0.0.0-dev-<sha>version, and the binary reads/writes~/.confluent-dev, leaving~/.confluentuntouched.delvecan attach to the resulting binary (debug symbols retained).Makefilechange is additive (newbuild-devtarget only), thedebian/patches/standard_build_layout.patchdiff is a clean regeneration rather than a hand-edit (make generate-packaging-patchreproduces it), and theCONTRIBUTING.mddev-build section is accurate.