Skip to content

[Comgr] Bump version to 3.4 for amd_comgr_hotswap_rewrite_with_options#3134

Merged
lamb-j merged 1 commit into
amd-stagingfrom
comgr/hotswap-rewrite-options-version-bump
Jul 1, 2026
Merged

[Comgr] Bump version to 3.4 for amd_comgr_hotswap_rewrite_with_options#3134
lamb-j merged 1 commit into
amd-stagingfrom
comgr/hotswap-rewrite-options-version-bump

Conversation

@lamb-j

@lamb-j lamb-j commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #3008, which added the amd_comgr_hotswap_rewrite_with_options API but tagged it AMD_COMGR_VERSION_3_3 — a version already consumed by the block-size kernel APIs in #1946. Per our policy, every commit that adds a new public API must also bump the minor version, so the hotswap options API should own its own version.

The check_api_consistency.py script only enforces VERSION.txt >= the highest tag macro, so the duplicate 3.3 tag passed CI even though it reused an existing version.

Changes

  • VERSION.txt: bump minor 3 -> 4.
  • amd_comgr.h.in: add the AMD_COMGR_VERSION_3_4 macro and retag amd_comgr_hotswap_rewrite_with_options from 3.3 to 3.4.
  • exportmap.in: move amd_comgr_hotswap_rewrite_with_options into a new @amd_comgr_NAME@_3.4 symbol-version node inheriting from _3.3.

The symbol-version change is safe: 3.3 has not shipped in a release, so no external consumer depends on the @_3.3 versioned symbol.

python3 amd/comgr/utils/check_api_consistency.py --comgr-dir amd/comgr passes (VERSION.txt=3.4, 69 APIs declared and exported).

PR #3008 added the amd_comgr_hotswap_rewrite_with_options API but tagged
it AMD_COMGR_VERSION_3_3 against the already-bumped 3.3 version. Version
3.3 was consumed by the block-size kernel APIs in #1946; per our policy
every commit that adds a new API must also bump the minor version, so the
hotswap options API should own its own version.

The check_api_consistency.py script only enforces VERSION.txt >= highest
tag macro, so the duplicate 3.3 tag passed CI even though it violated the
versioning policy.

Changes:
- VERSION.txt: bump minor 3 -> 4.
- amd_comgr.h.in: add AMD_COMGR_VERSION_3_4 macro and retag
  amd_comgr_hotswap_rewrite_with_options from 3.3 to 3.4.
- exportmap.in: move amd_comgr_hotswap_rewrite_with_options into a new
  @amd_comgr_NAME@_3.4 symbol-version node inheriting from _3.3.

The symbol version change is safe: 3.3 has not shipped in a release, so
no external consumer depends on the @_3.3 versioned symbol.

check_api_consistency.py passes (VERSION.txt=3.4, 69 APIs declared and
exported).
lamb-j added a commit that referenced this pull request Jun 30, 2026
## Summary

Adds an explicit API-versioning rule to `amd/comgr/AGENT_CONVENTIONS.md`
(section 4, PR workflow): every commit that adds a public
`AMD_COMGR_API` function must bump the minor version in `VERSION.txt`
and tag the new prototype with a fresh `AMD_COMGR_VERSION_X_Y` macro.

This codifies the policy that surfaced when #3008 added
`amd_comgr_hotswap_rewrite_with_options` under the already-used `3.3`
version without bumping (fixed in its follow-up #3134).

The rule captures:
- One bump per commit, not per function.
- Never reuse the current version's macro for a new API in a later
commit.
- Don't wait for an official release to bump — we don't know which
commit lands in each release, so the version advances when the API is
introduced.
- Add the symbol to `exportmap.in` under a version node matching the new
tag.
- `check_api_consistency.py` only enforces `VERSION.txt >=` the highest
macro, so it cannot catch version reuse — verify the bump by hand.

## Changes

- `AGENT_CONVENTIONS.md`: add the "Bump the version when adding a public
API" subsection.
@lamb-j lamb-j enabled auto-merge (squash) June 30, 2026 23:59
@lamb-j lamb-j merged commit b34636a into amd-staging Jul 1, 2026
28 of 29 checks passed
@lamb-j lamb-j deleted the comgr/hotswap-rewrite-options-version-bump branch July 1, 2026 01:26
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.

2 participants