Skip to content

Release Checklist

Steps for cutting a stable release of the NASA Go SDK. This checklist is for maintainers only.

Complete every item before creating the tag.

  • The latest commit on master has a passing CI run (lint, build, test).
  • Review the Actions tab for the most recent result.

Run all three checks locally on a clean checkout of master:

Terminal window
go test -race -count=1 ./...
go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4 run ./...
go build ./...
  • All tests pass.
  • Lint reports 0 issues.
  • Build succeeds for all packages.
  • README.md reflects current install commands, API coverage, and feature list.
  • docs/getting-started.md examples compile and match current SDK behavior.
  • docs/authentication.md key handling guidance is accurate.
  • docs/rate-limiting.md describes the current rate limiter behavior.
  • docs/cli/installation.md matches the CLI’s actual flags and output.
  • CONTRIBUTING.md contains only durable guidance (no branch-specific or transient notes).
  • .github/workflows/docs.yml triggers on push to master for docs/** and README.md.
  • GitHub Pages is enabled in repo settings (Settings > Pages > Source > GitHub Actions).

Only proceed after every pre-release item above is checked.

Create an annotated tag on master and push it:

Terminal window
VERSION=v1.0.0 # Set to the release tag
git checkout master
git pull --ff-only origin master
git tag -a "${VERSION}" -m "${VERSION} - stable release"
git push origin "${VERSION}"

Do not use a lightweight tag. The annotated tag is required for pkg.go.dev to index the version. Note that pushing a tag does not automatically create a GitHub Release; you must create the Release separately (see below).

Terminal window
gh release create "${VERSION}" --generate-notes
  • Visit Releases and confirm the release appears.
  • Optionally add release notes summarizing what the release includes.
  • Visit pkg.go.dev/github.com/peteretelej/nasa and confirm the tagged version is indexed.
  • If the version does not appear within a few minutes, request indexing at https://pkg.go.dev/github.com/peteretelej/nasa@<VERSION>.
  • Confirm the docs workflow ran after the most recent push to master.
  • Visit peteretelej.github.io/nasa and verify the site is live and current.

Verify that users can install the SDK and CLI at the tagged version:

Terminal window
VERSION=v1.0.0 # replace with your release tag
go list -m github.com/peteretelej/nasa@"${VERSION}"
go install github.com/peteretelej/nasa/cmd/nasa@"${VERSION}"
nasa --version