test: add Portal mutation smoke - #6
Conversation
Add a pinned Apollo Portal and H2 mutation workflow covering config merge, confirmation and permission failures, release creation, and rollback. Isolate CLI state and redact mutation response values so smoke diagnostics remain secret-safe.\n\nRefs apolloconfig/apollo#5669
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f94391ee6d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Adds a repeatable “real Apollo Portal” mutation smoke test path for apollo-cli, including CI automation, improved state isolation, and stronger redaction guarantees for config mutation outputs.
Changes:
- Add a new
scripts/mutation-smoke.shend-to-end smoke that builds a pinned Apollo revision, runs Portal+H2, and validates config/apply/release/rollback behavior against live server state with redacted diagnostics. - Introduce
APOLLO_CLI_HOMEto isolate CLI state (config + file-backed credentials) for CI/smoke runs, and document the behavior in both READMEs. - Ensure config mutation outputs redact item values in JSON output (and update OpenAPI integration tests accordingly), plus add a scheduled/manual GitHub Actions workflow to run the smoke.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
tests/openapi.rs |
Updates integration assertions to require redacted config values and to ensure plaintext values don’t appear in stdout. |
src/config.rs |
Adds APOLLO_CLI_HOME override to place config.toml under an isolated absolute directory (with tests). |
src/command.rs |
Redacts config item values in rendered mutation/list responses by injecting sanitized data into output rendering. |
scripts/mutation-smoke.sh |
New pinned-revision Portal+H2 mutation smoke script with state assertions and log/CLI output redaction checks. |
README.md |
Documents APOLLO_CLI_HOME and the new mutation smoke + release-gate expectations. |
README.zh.md |
Same documentation updates as README.md for Chinese readers. |
.github/workflows/mutation-smoke.yml |
New scheduled + manual workflow to run the mutation smoke on Ubuntu with JDK 17 + stable Rust. |
.github/workflows/ci.yml |
Adds a bash -n scripts/mutation-smoke.sh syntax check step. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Summary
APOLLO_CLI_HOMEconfig setresponse values and scan CLI results plus Apollo logs so credentials and generated config values never appear in diagnosticsTesting
cargo fmt --checkcargo clippy --locked --all-targets --all-features -- -D warningscargo test --locked(179 tests passed)bash -n scripts/mutation-smoke.shgit diff --check--yes, read-only permission denial, two releases, rollback, server-state verification, and secret scan all passedRefs apolloconfig/apollo#5669