Skip to content

OpenBolt generated pages show commit SHA instead of version tag in the 'generated from' note #336

@miharp

Description

@miharp

Problem

The "generated from" note at the top of the OpenBolt generated reference pages
shows the upstream commit SHA instead of the clean version tag, unlike OpenVox
and OpenFact which show the tag.

On production today:

OpenBolt:  generated from the OpenBolt source code based on version 41282c5265c0e4763d7c5f962636edefd675e6e8 on 2026-06-12 ...
OpenFact:  generated from the OpenFact source code based on version 5.6.1 on 2026-06-12 ...

The openbolt pages should read based on version 5.6.0.

Root cause

Repo#checkout returns the resolved commit via revparse, i.e. the SHA:

# lib/puppet_references/repo.rb
def checkout(commit)
  @repo.checkout(commit, { force: true }) unless @config['skip_download']
  @repo.revparse(commit)   # -> SHA
end

OpenBolt threads that SHA into its note:

# lib/puppet_references/openbolt/docs.rb:62
note = PuppetReferences::Util.generated_note('OpenBolt', @commit)  # @commit == the SHA

OpenVox/OpenFact instead use the version tag held in PuppetReferences.version_commit
(set to commit || repo.newest_release):

# e.g. lib/puppet_references/facter/core_facts.rb:17
content = make_header(header_data, 'OpenFact', PuppetReferences.version_commit) + ...

So OpenBolt is the outlier.

Fix

Pass the version tag rather than the resolved SHA in
lib/puppet_references/openbolt/docs.rb:

note = PuppetReferences::Util.generated_note('OpenBolt', PuppetReferences.version_commit)

PuppetReferences.version_commit is set in build_openbolt_references before
build_all runs, so it's the pinned tag (now 5.6.0 from _data/products.yml).

Notes

  • Low priority / cosmetic — pages render fine; only the note text is affected.
  • Could ride along with the queued OpenBolt test:links workaround-removal PR
    (both are small, openbolt-only changes), or stand alone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions