Skip to content

feat(inkless): surface inkless version at startup and in --version output - #717

Merged
giuseppelillo merged 1 commit into
mainfrom
jeqo/inkless-release-log
Jul 29, 2026
Merged

feat(inkless): surface inkless version at startup and in --version output#717
giuseppelillo merged 1 commit into
mainfrom
jeqo/inkless-release-log

Conversation

@jeqo

@jeqo jeqo commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Bake git describe --tags --match 'inkless-*' into kafka-version.properties as inklessTag (via providers.exec, worktree-aware) and expose it through AppInfoParser.getInklessTag(). Log it at broker/client startup ("Inkless tag: ") alongside the existing Kafka version/commitId lines, and append it as a " (Inkless:)" suffix to the broker/tools --version output. Both are gated on the tag being baked in (non-empty and not "unknown"), so upstream output/logs are unchanged when it is absent (e.g. off a non-release build).

Also derive Makefile VERSION from gradle.properties instead of hardcoding 4.2.0-inkless-SNAPSHOT, so build_release/docker are correct on any checkout (inkless-4.1 hardcoded 4.1.0 while its gradle.properties said 4.1.2).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR surfaces Inkless’s git tag/describe information in the runtime --version output by baking an inklessVersion field into kafka-version.properties at build time, and also fixes release tooling by deriving the Makefile’s distribution VERSION from gradle.properties.

Changes:

  • Add inklessVersion to the generated kafka-version.properties and expose it via AppInfoParser.getInklessVersion().
  • Append Inkless version info to broker/tool --version outputs.
  • Make Makefile compute VERSION from gradle.properties instead of hardcoding it.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tools/src/main/java/org/apache/kafka/tools/PrintVersionAndExitAction.java Extends tool --version output to include Inkless version info.
server-common/src/main/java/org/apache/kafka/server/util/CommandLineUtils.java Extends common --version path (used by multiple CLIs) to include Inkless version info.
Makefile Derives distribution VERSION from gradle.properties for correct release/docker artifacts.
clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java Adds inklessVersion parsing + accessor from baked version properties.
build.gradle Computes and writes inklessVersion into baked version files across subprojects.

Comment thread Makefile Outdated
@jeqo
jeqo force-pushed the jeqo/inkless-release-log branch from 34ab856 to 47d07ed Compare July 22, 2026 18:57
@jeqo jeqo changed the title feat(inkless): surface inkless version in --version output feat(inkless): surface inkless version at startup and in --version output Jul 22, 2026
@jeqo
jeqo requested a review from Copilot July 22, 2026 18:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.

Comment thread clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java Outdated
@jeqo
jeqo force-pushed the jeqo/inkless-release-log branch from 47d07ed to 47abc43 Compare July 29, 2026 15:24
@jeqo
jeqo requested a review from Copilot July 29, 2026 15:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 8 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java:158

  • The startup log guard only checks for "unknown"; if inklessVersion is present but empty/whitespace (e.g., set via -PinklessVersion=), this will emit an empty "Inkless version:" line. The guard should match getInklessVersionSuffix() semantics (suppress for empty/unknown).
            // INKLESS: log the inkless tag/increment at startup when baked in (see build.gradle).
            if (!DEFAULT_VALUE.equals(INKLESS_VERSION)) {
                log.info("Inkless version: {}", INKLESS_VERSION);
            }

@jeqo
jeqo force-pushed the jeqo/inkless-release-log branch from 47abc43 to b2136ea Compare July 29, 2026 15:50
Bake git describe --tags --match 'inkless-*' into kafka-version.properties as inklessTag (via providers.exec, worktree-aware) and expose it through AppInfoParser.getInklessTag(). Log it at broker/client startup ("Inkless tag: <describe>") alongside the existing Kafka version/commitId lines, and append it as a " (Inkless:<tag>)" suffix to the broker/tools --version output. Both are gated on the tag being baked in (non-empty and not "unknown"), so upstream output/logs are unchanged when it is absent (e.g. off a non-release build).

Also derive Makefile VERSION from gradle.properties instead of hardcoding 4.2.0-inkless-SNAPSHOT, so build_release/docker are correct on any checkout (inkless-4.1 hardcoded 4.1.0 while its gradle.properties said 4.1.2).
@jeqo
jeqo force-pushed the jeqo/inkless-release-log branch from b2136ea to 32c4739 Compare July 29, 2026 15:52
@jeqo
jeqo marked this pull request as ready for review July 29, 2026 15:52
@giuseppelillo
giuseppelillo merged commit 69838cd into main Jul 29, 2026
7 checks passed
@giuseppelillo
giuseppelillo deleted the jeqo/inkless-release-log branch July 29, 2026 16:51
giuseppelillo pushed a commit that referenced this pull request Jul 30, 2026
…#717)

Bake git describe --tags --match 'inkless-*' into kafka-version.properties as inklessTag (via providers.exec, worktree-aware) and expose it through AppInfoParser.getInklessTag(). Log it at broker/client startup ("Inkless tag: <describe>") alongside the existing Kafka version/commitId lines, and append it as a " (Inkless:<tag>)" suffix to the broker/tools --version output. Both are gated on the tag being baked in (non-empty and not "unknown"), so upstream output/logs are unchanged when it is absent (e.g. off a non-release build).

Also derive Makefile VERSION from gradle.properties instead of hardcoding 4.2.0-inkless-SNAPSHOT, so build_release/docker are correct on any checkout (inkless-4.1 hardcoded 4.1.0 while its gradle.properties said 4.1.2).
giuseppelillo pushed a commit that referenced this pull request Jul 30, 2026
…#717)

Bake git describe --tags --match 'inkless-*' into kafka-version.properties as inklessTag (via providers.exec, worktree-aware) and expose it through AppInfoParser.getInklessTag(). Log it at broker/client startup ("Inkless tag: <describe>") alongside the existing Kafka version/commitId lines, and append it as a " (Inkless:<tag>)" suffix to the broker/tools --version output. Both are gated on the tag being baked in (non-empty and not "unknown"), so upstream output/logs are unchanged when it is absent (e.g. off a non-release build).

Also derive Makefile VERSION from gradle.properties instead of hardcoding 4.2.0-inkless-SNAPSHOT, so build_release/docker are correct on any checkout (inkless-4.1 hardcoded 4.1.0 while its gradle.properties said 4.1.2).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants