fix: update rolling build version string to comply with semver - BED-8176#192
fix: update rolling build version string to comply with semver - BED-8176#192StranDutton wants to merge 1 commit intomainfrom
Conversation
WalkthroughThis pull request simplifies the build workflow by replacing dynamic version strings that include the git commit SHA with a static version identifier ( ChangesVersion String Simplification
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/build.yml (1)
80-80: 💤 Low valueConsider
v0.0.0-rollingto preserve pre-release semantics while remaining semver-compliant.The root cause was
v0.0.0-rolling+<sha>+dockerbeing invalid semver (double+). Stripping only the+<sha>portion — yieldingv0.0.0-rolling— is also fully valid semver (pre-release identifier, no build metadata), and if infra then appends+docker, the resultv0.0.0-rolling+dockerremains valid semver. Using barev0.0.0means every rolling build is version-indistinguishable from a stablev0.0.0release, which may affect how BHE or downstream tooling interprets client capability.If BHE accepts pre-release semver, the following change would preserve the rolling signal:
♻️ Alternative: use `v0.0.0-rolling` across all four build steps
- build-args: VERSION=v0.0.0 # line 80 (Build Container Image) + build-args: VERSION=v0.0.0-rolling- build-args: VERSION=v0.0.0 # line 99 (Push Image) + build-args: VERSION=v0.0.0-rolling- go run winres/generate-windows-resources/generate-windows-resources.go "v0.0.0" + go run winres/generate-windows-resources/generate-windows-resources.go "v0.0.0-rolling"- run: 'go build -ldflags="-s -w -X github.com/bloodhoundad/azurehound/v2/constants.Version=v0.0.0"' + run: 'go build -ldflags="-s -w -X github.com/bloodhoundad/azurehound/v2/constants.Version=v0.0.0-rolling"'If BHE rejects pre-release semver strings, the current
v0.0.0is the right call — this is purely optional if BHE's parser is known to handle pre-release identifiers.Also applies to: 99-99, 135-135, 138-138
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/build.yml at line 80, Replace the hardcoded semver VERSION value used in the Docker build args to a pre-release token to preserve the "rolling" signal: update each occurrence of the build argument key "build-args: VERSION=..." (the four instances currently set to "v0.0.0") to "v0.0.0-rolling" so subsequent infra can append "+docker" without producing invalid semver; ensure you change all four occurrences referenced in the PR comment so the four build steps use VERSION=v0.0.0-rolling consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/build.yml:
- Line 80: Replace the hardcoded semver VERSION value used in the Docker build
args to a pre-release token to preserve the "rolling" signal: update each
occurrence of the build argument key "build-args: VERSION=..." (the four
instances currently set to "v0.0.0") to "v0.0.0-rolling" so subsequent infra can
append "+docker" without producing invalid semver; ensure you change all four
occurrences referenced in the PR comment so the four build steps use
VERSION=v0.0.0-rolling consistently.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b9dd4519-9b0d-4d69-9357-62d9b5d88503
📒 Files selected for processing (1)
.github/workflows/build.yml
Currently, the
edge-*images that infra uses to host our AzH container are named v0.0.0-rolling++docker, which is not proper semver, so BHE does not accept data from the client.In this PR, we remove the
rolling+<sha>from the rolling release version name so that it is now proper semver and therefore is able to communicate with BHE.Summary by CodeRabbit