docs/release-confidence.md
This document outlines the strategy for gaining confidence in every release of Gemini CLI. It serves as a checklist and quality gate for release manager to ensure we are shipping a high-quality product.
To answer the question, "Is this release truly ready for our users?" with a high degree of confidence, based on a holistic evaluation of automated signals, manual verification, and data.
These are the baseline requirements. If any of these fail, the release is a no-go.
All workflows in .github/workflows/ci.yml must pass on the main branch (for
nightly) or the release branch (for preview/stable).
Platforms: Tests must pass on Linux and macOS.
Checks:
packages/core and packages/cli must
pass.All workflows in .github/workflows/chained_e2e.yml must pass.
sandbox:none and sandbox:docker
on Linux.After a release is published to npm, the smoke-test.yml workflow runs. This
must pass to confirm the package is installable and the binary is executable.
npx -y @google/gemini-cli@<tag> --version must return the
correct version without error.ubuntu-latest.Automated tests cannot catch everything, especially UX issues.
preview tagThe weekly release cadence promotes code from main -> nightly -> preview
-> stable.
preview release must be used by maintainers for at
least one week before being promoted to stable.npm install -g @google/gemini-cli@preview
Before promoting a preview release to stable, a release manager must
manually run through this checklist.
Setup:
npm uninstall -g @google/gemini-clinpm cache clean --forcenpm install -g @google/gemini-cli@previewgemini --versionAuthentication:
/auth and verify all sign in flows work:
Basic prompting:
gemini "Tell me a joke" and verify a sensible response.gemini. Ask a follow-up question to test
context.Piped input:
echo "Summarize this" | gemini and verify it processes stdin.Context management:
@file to add a local file to context. Ask a
question about it.Settings:
/settings and make modificationsFunction calling:
If any of these CUJs fail, the release is a no-go until a patch is applied to
the preview channel.
For high-impact releases, an organized bug bash is required to ensure a higher level of quality and to catch issues across a wider range of environments and use cases.
Definition of tiers:
Requirement:
A bug bash must be scheduled at least 72 hours in advance of any Tier 1 or Tier 2 launch.
Rule of thumb:
A bug bash should be considered for any release that involves:
go/gemini-cli-dash.go/gemini-cli-offline-evals-dash.Before triggering the Release: Promote workflow to move preview to stable:
preview tag.preview version has been out for one week, and the
CUJ checklist has been completed successfully by a release manager. No
blocking issues have been reported.If all checks pass, proceed with the promotion.