Skip to content

Add install smoke tests for release artifacts and Homebrew - #54

Merged
andreagrandi merged 1 commit into
masterfrom
install-smoke-tests
May 20, 2026
Merged

Add install smoke tests for release artifacts and Homebrew#54
andreagrandi merged 1 commit into
masterfrom
install-smoke-tests

Conversation

@andreagrandi

Copy link
Copy Markdown
Owner

Summary

Adds credential-free install smoke tests so packaging regressions surface in CI and at release time instead of reaching users. Closes #44.

  • scripts/smoke-test.sh — portable smoke test for a logbasset binary: checks --version output, that top-level --help lists every core command, per-command --help, and the no-auth context/schema/completion commands. Exits non-zero on the first failure.
  • make smoke-test — builds then runs the script.
  • CI (ci.yml) — smoke-tests bin/logbasset after make build on every PR/push, across all Go versions. This is the pre-merge gate.
  • Release (release.yml) — extracts the published logbasset_Linux_x86_64.tar.gz and smoke-tests the actual artifact after GoReleaser, catching issues like broken version injection.
  • Homebrew — expanded the GoReleaser formula test block from just --version to also cover --help and schema, so brew test logbasset verifies the formula automatically.
  • Docs: README "Verifying an Install" section (with the manual Homebrew check), CHANGELOG [Unreleased] entry, AGENTS.md make-target list.

Acceptance criteria

  • Release artifacts are smoke-tested automatically (CI + release workflow).
  • Homebrew path is verified automatically (brew test) and documented as a manual check.
  • Smoke tests require no real API credentials.

Test plan

  • make smoke-test passes locally
  • Smoke test exits non-zero against a deliberately broken binary
  • make test, make vet, gofmt -s -l clean
  • CI smoke-test step passes on this PR
  • Release workflow smoke-tests the published artifact on the next tag

Verify built binaries and published archives respond to --version,
--help, and the no-credential context/schema commands so packaging
regressions surface before users hit them.

- scripts/smoke-test.sh: credential-free smoke test for a binary
- make smoke-test target
- CI smoke-tests bin/logbasset after build
- release workflow smoke-tests the published Linux archive
- expanded Homebrew formula test block

Closes #44
@andreagrandi
andreagrandi merged commit 13a9219 into master May 20, 2026
7 checks passed
@andreagrandi
andreagrandi deleted the install-smoke-tests branch May 20, 2026 19:58
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.

Add install smoke tests for release artifacts and Homebrew

1 participant