docs: document TeamCity VCS detection, drop deprecated SBOM_VERSION - #139
Merged
vpetersson merged 2 commits intoAug 31, 2026
Merged
Conversation
sbomify-action#395 and #399 both merged today. #395 adds TeamCity as a fourth VCS augmentation provider. The TeamCity page documented the opposite - "TeamCity does not expose repository details in the form the action auto-detects" - and both support matrices listed it as Manual. Verified against providers/teamcity.py on master rather than the PR description: - Detection is default-deny. TeamCity is VCS-agnostic and exposes no VCS-type parameter, so nothing is emitted unless the repository URL positively identifies Git. A Perforce changelist recorded in a Git-shaped VCS field would be a false claim in a signed document. - SBOMIFY_VCS_URL / SBOMIFY_VCS_REF are the escape hatch, and are TeamCity-only - the other three providers do not read them. - A self-hosted Git URL with no .git suffix and no recognised host cannot be detected at all. Matrices now say "Git roots" rather than Manual, with a legend entry explaining why it is not a plain yes. Also removed the %teamcity.build.branch% from the manual fallback. It reports the literal string <default> on the default branch when a branch specification is configured (TW-23699), and is absent entirely when one is not; neither yields the branch name. Now %teamcity.build.vcs.branch.<VcsRootId>%. Detection landed after v26.8.0, so the page says so in a form that will not go stale as releases ship. From #399: how-to-version-sboms told readers to set SBOM_VERSION, which is deprecated and logs a warning on every run. Now COMPONENT_VERSION. The deprecated-aliases table in configuration.md keeps its entry, which is what that table is for. Verified: bun run lint passes, hugo --minify --environment production builds 493 pages, all 16,111 internal links and anchors resolve. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UatuV4CjoCupLTRYNbD3Wq
TeamCity is host-agnostic and the path to a commit differs by forge (/commit/, /-/commit/, /commits/), so the action records the repository URL and SHA without a browsable link rather than guessing one that may not resolve. Documented in the README by sbomify-action#395; carried over here so nothing is lost when that README section is slimmed away in sbomify-action#398. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UatuV4CjoCupLTRYNbD3Wq
vpetersson
approved these changes
Aug 31, 2026
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.
Follow-up to #138, which merged just before these two commits landed on the branch. Covers sbomify-action#395 and #399, both merged today.
TeamCity VCS detection (#395)
The TeamCity page documented the opposite of what shipped — "TeamCity does not expose repository details in the form the action auto-detects" — and both support matrices listed it as
Manual.Verified against
providers/teamcity.pyonmasterrather than the PR description:.gitsuffix, recognised host, orssh:///git@host:path). A Perforce changelist written into a Git-shaped VCS field would be a false claim in a document you may go on to sign.SBOMIFY_VCS_URL/SBOMIFY_VCS_REFare TeamCity-only. The other three providers do not read them — checked, not assumed. They exist because TeamCity keeps the repository URL and branch in a properties file rather than the environment, and a containerised step may not be able to read it..gitsuffix and no recognised host cannot be detected at all./commit/,/-/commit/,/commits/), so the URL and SHA are recorded without a browsable link rather than guessing one that may not resolve.Both matrices now say Git roots rather than
Manual, with a legend entry explaining why it is not a plain yes.A bug in the manual fallback
The page's
sbomify.jsonexample used%teamcity.build.branch%. That reports the literal string<default>on the default branch when a branch specification is configured (TW-23699), and is absent entirely when one is not — neither gives you the branch name. Now%teamcity.build.vcs.branch.<VcsRootId>%, with a callout explaining the trap.On staleness
Detection landed after
v26.8.0. The page says exactly that, phrased as a historical fact rather than a "not yet released" note, so it stays true as releases ship.Deprecated
SBOM_VERSION(#399)how-to-version-sbomstold readers to setSBOM_VERSION, which is deprecated and logs a warning on every run. NowCOMPONENT_VERSION. The deprecated-aliases table inconfiguration.mdkeeps its entry — that is what the table is for.Coordination with sbomify-action#398
#398 slims the README and drops the TeamCity sections #395 added, on the basis that the content lives here. I checked that claim line by line against #395's README diff; everything was covered except the commit-URL behaviour, which is why the second commit adds it. Nothing is lost when #398 merges.
Verification
bun run lint— passeshugo --minify --environment production— clean, 493 pages🤖 Generated with Claude Code
https://claude.ai/code/session_01UatuV4CjoCupLTRYNbD3Wq