Release Checklist
Release Checklist
Section titled “Release Checklist”Steps for cutting a stable release of the NASA Go SDK. This checklist is for maintainers only.
Pre-Release Verification
Section titled “Pre-Release Verification”Complete every item before creating the tag.
1. CI Status
Section titled “1. CI Status”- The latest commit on
masterhas a passing CI run (lint, build, test). - Review the Actions tab for the most recent result.
2. Local Verification
Section titled “2. Local Verification”Run all three checks locally on a clean checkout of master:
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.
3. Documentation
Section titled “3. Documentation”-
README.mdreflects current install commands, API coverage, and feature list. -
docs/getting-started.mdexamples compile and match current SDK behavior. -
docs/authentication.mdkey handling guidance is accurate. -
docs/rate-limiting.mddescribes the current rate limiter behavior. -
docs/cli/installation.mdmatches the CLI’s actual flags and output. -
CONTRIBUTING.mdcontains only durable guidance (no branch-specific or transient notes).
4. Docs Deployment Workflow
Section titled “4. Docs Deployment Workflow”-
.github/workflows/docs.ymltriggers on push tomasterfordocs/**andREADME.md. - GitHub Pages is enabled in repo settings (Settings > Pages > Source > GitHub Actions).
Creating the Release
Section titled “Creating the Release”Only proceed after every pre-release item above is checked.
Tag the Release
Section titled “Tag the Release”Create an annotated tag on master and push it:
VERSION=v1.0.0 # Set to the release taggit checkout mastergit pull --ff-only origin mastergit 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).
Create the GitHub Release
Section titled “Create the GitHub Release”gh release create "${VERSION}" --generate-notesPost-Release Verification
Section titled “Post-Release Verification”1. GitHub Release
Section titled “1. GitHub Release”- Visit Releases and confirm the release appears.
- Optionally add release notes summarizing what the release includes.
2. pkg.go.dev
Section titled “2. pkg.go.dev”- 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>.
3. Documentation Site
Section titled “3. Documentation Site”- 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.
4. Install Verification
Section titled “4. Install Verification”Verify that users can install the SDK and CLI at the tagged version:
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