Skip to content

v1.0.0 release checklist: ordering prerequisites, breaking-change notes, and post-tag verification #215

Description

@SanabriaRusso

Context

#198 declares 1.0.0 and adds a versioning / schema-stability policy. Cutting the tag has prerequisites that span several PRs and one unresolved infrastructure issue, and getting the order wrong produces a release that is broken in ways CI will not catch. This is the checklist.

Verified current state

  • npm: the package is @o1-labs/mina-archive-node-graphql. npm view … versions returns only 0.0.6; dist-tags is { latest: '0.0.6' }. v0.0.7–v0.0.9 were tagged but never published.
  • npm publishing from CI has never worked: trusted publisher is not configured (v0.0.9 tagged but unpublished) #208 is still open — npm trusted publishing was never configured, so the publish job fails ENEEDAUTH.
  • GHCR: o1-labs/archive-node-api has 0.0.1-test, latest, 0.0, 0, 0.0.1, 0.0.2, 0.0.4, 0.0.5, 0.0.8, 0.0.6, 0.0.9. No 1.0.0.
  • Docker publishing works even though npm's does not — build.yaml pushes GHCR tags on refs/tags/v* and 0.0.9 is present. The two halves of the pipeline are in different states.

Blocking prerequisite

Content prerequisites — cut the tag only from a main that already contains

If the tag is cut early, #196's manifests probe endpoints the image does not serve and set env vars it ignores — and the failure presents as pods that never become Ready, not as an obvious version mismatch.

Release-note content — these are breaking and must be called out

Post-tag verification

  • npm view @o1-labs/mina-archive-node-graphql dist-tags shows latest: 1.0.0
  • docker pull ghcr.io/o1-labs/archive-node-api:1.0.0 succeeds
  • docs/getting-started.md's docker pull …:1.0.0 command works (it is currently written against a tag that does not exist yet)
  • A pod from the 1.0.0 image passes P2: Reference deployment manifests — k8s + prod Compose (#179) #196's readiness probe against /readiness

Known doc defect to fix before or with the tag

#198's release procedure reads:

git tag v1.0.0 && git push --follow-tags

This does not work. git tag without -a/-s creates a lightweight tag, and git push --follow-tags pushes only annotated tags — so nothing is pushed and no release fires. Fix:

git tag -a v1.0.0 -m 'v1.0.0'   # annotated: --follow-tags ignores lightweight tags
git push --follow-tags

(The npm version path used for subsequent releases is unaffected — npm creates annotated tags.)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Strongly recommended before GAdocumentationImprovements or additions to documentationproduction-readinessWork toward making the API production-ready / publicly available

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions