Skip to content

make tag checks the settings version first - #15

Open
diegoparrilla wants to merge 1 commit into
release/v1.1.1from
fix/release-check
Open

diegoparrilla wants to merge 1 commit into
release/v1.1.1from
fix/release-check

Conversation

@diegoparrilla

Copy link
Copy Markdown
Contributor

What

  • make tag first runs a new make check-release target. It stops with an error unless ACONFIG_VERSION_NUMBER in rp/src/include/aconfig.h equals RELEASE_ACONFIG_VERSION in the Makefile, which is 1 by default. ACONFIG_H= points the check at another header.
  • CLAUDE.md describes the check. It also says where the release UUID lives: the APP_UUID secret of the GitHub repository. CI builds with it on pull requests (build.yml) and on the tag (release.yml), and falls back to the development UUID when the secret is not available. Local builds use the development UUID.
  • aconfig.h gets a comment on ACONFIG_VERSION_NUMBER.
  • version.txt is v1.1.1, with a CHANGELOG.md entry.

Why

Settings stored under another ACONFIG_VERSION_NUMBER are ignored and the defaults load. An app may raise the number while developing, so that stale settings stored under the shared development UUID don't get in its way. The check makes sure that value can't reach a tag by mistake. An app that raises the version on purpose for a release, to start its settings again, raises RELEASE_ACONFIG_VERSION along with it.

Checked

make check-release passes on this tree (0x0001). It stops with an error for a header set to 0x0002, passes for 0x0002 with RELEASE_ACONFIG_VERSION=2, and stops for a missing header. make tag itself was not run.

make tag now runs make check-release first, which stops with an error
unless ACONFIG_VERSION_NUMBER in rp/src/include/aconfig.h equals
RELEASE_ACONFIG_VERSION in the Makefile (1; ACONFIG_H= points it at
another header). Settings stored with another version are ignored and
the defaults load, so an app that raises the version to start its
settings again raises both, and a value used only while developing
never reaches a tag.

CLAUDE.md describes the check, and says where the release UUID lives:
the APP_UUID secret of the GitHub repository, which CI builds with on
pull requests and on the tag, falling back to the development UUID;
local builds use the development UUID.

version.txt v1.1.1, with its CHANGELOG.md entry.
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.

1 participant