Skip to content

ci: expand native smoke coverage for CLI commands and output - #72

Merged
hectorvent merged 2 commits into
mainfrom
ci/native-smoke-coverage
Nov 4, 2026
Merged

hectorvent merged 2 commits into
mainfrom
ci/native-smoke-coverage

Conversation

@hectorvent

@hectorvent hectorvent commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

reset, config validate, config profile edit, --json, --no-emoji, completion and -o yaml were not run on a native binary anywhere in CI, and the JVM tests cannot catch a native-image gap.

  • smoke.sh now runs them, with no emulator or Docker daemon.
  • --no-emoji is only checked to parse: piped output is already plain, so its effect stays with ErgonomicsTest.
  • Failed checks report ::error:: so the cause shows in the CI log.
  • Profile edit is skipped on Windows: it has not been proven there, and the script runs on Windows only while a release is being cut.

Type of change

  • Bug fix (fix:)
  • New feature (feat:)
  • Breaking change (feat!: or fix!:)
  • Docs / chore

Product trees affected

  • AWS (root tree)
  • GCP (commands/gcp/)
  • Azure (commands/az/)
  • N/A (shared infrastructure, docs, CI)

Checklist

  • mvn test passes locally
  • New or updated tests added (or explained below why not needed)
  • README.md updated (if a command or flag changed)
  • Native binary verified (mvn package -Pnative), required if Jackson serialization or dependencies changed
  • Commit messages / PR title follow Conventional Commits: a feat/fix/perf subject becomes the release note, so CHANGELOG.md needs no hand edit
  • I have no more than 2 open, non-draft pull requests and no more than 4 open pull requests in total (drafts included) in this repository (maintainers and dependency bots are exempt).

Tests

No Java changed, so mvn test is not relevant here. Ran the script against native binaries on linux/amd64 and darwin/arm64, each also with no docker on PATH. Not run on Windows or darwin/amd64: those only run it from a release tag, so the first Windows run of the other new checks will be during a release.

Run completion, Compose validation with YAML anchors and merge keys, profile
editing, JSON, YAML and plain output, and the snapshot and reset input guards
through the native binary. None of it needs an emulator or a Docker daemon.

Profile editing is skipped on Windows: it has not been proven there, and the
script runs on Windows only while a release is being cut.

Signed-off-by: Hector Ventura <hectorvent@gmail.com>
@greptile-apps

greptile-apps Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge, with no outstanding findings.

Summary

Expands native smoke coverage for completion, Compose validation, rejected input, reset confirmation, profile editing, and structured output.

  • Native smoke runs check more CLI commands and output formats.

Reviews (2) · Last reviewed commit: "ci: stop claiming the smoke test proves ..." · Reviewed by Greptile

Comment thread .github/scripts/smoke.sh Resolved
Piped output is already plain and version prints no glyphs, so the ASCII check could not fail. Keep the parse check; ErgonomicsTest covers the behaviour. Addresses the review of #72.

Signed-off-by: Hector Ventura <hectorvent@gmail.com>
@hectorvent
hectorvent merged commit 763bb2d into main Nov 4, 2026
6 checks passed
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.

1 participant