Skip to content

Keep Zapstore protocol out of this repository's checklist - #94

Merged
rossigee merged 1 commit into
masterfrom
docs/release-checklist-publish-step
Oct 6, 2026
Merged

rossigee merged 1 commit into
masterfrom
docs/release-checklist-publish-step

Conversation

@rossigee

@rossigee rossigee commented Oct 6, 2026

Copy link
Copy Markdown
Owner

What this replaces

#93, now closed. It added the four event kinds to the release checklist, including that
3063 is the one carrying the APK. That is the action's internals in the wrong
repository, and it would rot the moment the action changed how it reports.

What was actually already documented elsewhere

I checked rather than assumed, and two of the three things I had written here were
already better documented in
rossigee/zapstore-publish:

Fact Already there
pubkey must match the credential, is injected at publish time, a bunker credential carries its own README:41-68, in more detail than mine
match pins the release asset so a debug build is never published README:58 and 79-80
release_notes field README:62 — but the fallback is undocumented

Duplicating the first two added nothing and created two places to rot.

What stays here, and why

Only what this repository owns:

  • The publish step has to succeed. skip-if-unconfigured: 'true' means a green run
    does not prove anything published, and the remedy is a re-run.
  • zapstore.yaml points at CHANGELOG.md, so step 2 is not optional. That is a
    fact about a file in this repository, not about Zapstore.
  • Where to send deeper problems. If the step reports success and the listing is
    wrong, that is a bug in the action — fix it there, not here.

verify-zapstore-signing.yml stays mentioned because it is a workflow in this
repository, even though what it proves is about the credential.

The one finding worth acting on elsewhere

Checking the third item turned up a real gap in zapstore-publish: when no
## [X.Y.Z] heading matches the APK's version, extractReleaseNotes returns the
entire file
, not the previous section:

version present   → "New notes."
version absent    → "# Changelog\n\n## [2.0.1] …\n\nOld notes.\n\n## [2.2.0] …"

So SMS2Webhook v2.1.1 published every version's notes, headings and all — not merely
the previous release's. The behaviour is tested (publish.test.ts:79) but never
documented. Filing that separately in the action's repo.

An earlier attempt at this step documented relay event kinds and the
version_code requirement, which is the action's internals leaking into
the wrong repository. It would also rot as soon as the action changed
how it reports.

What is left asserts only what this repository owns: the publish step
has to succeed, and zapstore.yaml points at CHANGELOG.md so a stale
changelog publishes stale notes. pubkey, match, relay verification,
credential rotation and how a publish is reported are all documented in
rossigee/zapstore-publish, which is where a reader should be sent.

One sms2webhook-specific fact is worth checking first: CHANGELOG.md is
the source of the store's release notes, so step 2 is not optional.
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

🤖 Automated Code Review

@rossigee
rossigee merged commit d1f0677 into master Oct 6, 2026
3 checks passed
@rossigee
rossigee deleted the docs/release-checklist-publish-step branch October 6, 2026 06:40
@rossigee rossigee mentioned this pull request Oct 6, 2026
3 of 7 tasks
rossigee added a commit that referenced this pull request Oct 6, 2026
- versionCode 8, versionName "2.2.1"
- New changelog entry documenting the post-2.2.0 fixes:
  - Activity log height in constrained viewports (PR #92)
  - Release checklist no longer leaks Zapstore internals (PR #94)
- zapstore-publish prerequisite (v1.0.3 + @v1 update) already shipped so the 30 s
  timeout and documented fallback are live for this release.
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