Skip to content

docs(agents): add E2E and CI testing conventions - #2932

Merged
Aleksei Sviridkin (lexfrei) merged 1 commit into
mainfrom
docs/e2e-testing-conventions
Jun 22, 2026
Merged

Aleksei Sviridkin (lexfrei) merged 1 commit into
mainfrom
docs/e2e-testing-conventions

Conversation

@myasnikovdaniil

@myasnikovdaniil myasnikovdaniil commented Jun 16, 2026 •

Copy link
Copy Markdown
Contributor

What this PR does

Adds docs/agents/e2e-testing.md — a routed agent doc capturing the e2e/CI
stabilization conventions built up over the last few months:

  • No retries on deterministic CI steps (only pure-infra Prepare environment retries)
  • Event-driven backstops instead of fixed sleep; no EXIT/RETURN traps
  • Fail-fast HelmRelease-readiness gating + the status.history remediation guard
  • First-class failure diagnostics and a reviewer checklist
  • Test-Impact Analysis (TIA) and its real scope: it trims only the per-app loop,
    runs after install, and most PRs legitimately escalate to the full suite

Wired into AGENTS.md so every agent reads it before e2e/CI work.

Release note

NONE

Summary by CodeRabbit

  • Documentation
    • Introduced comprehensive E2E testing conventions document with standards for writing, modifying, and reviewing end-to-end tests and CI processes.
    • Documented best practices for test reliability, including guidelines on retry behavior, event-driven test validation, and cleanup discipline.
    • Updated process documentation to reference new E2E testing conventions.

Capture the e2e stabilization conventions established over the last few
months as a routed agent doc: no retries on deterministic CI steps,
event-driven backstops over fixed sleeps, no EXIT/RETURN traps,
fail-fast HelmRelease-readiness gating, the status.history remediation
guard, first-class failure diagnostics, and a reviewer checklist. Also
documents Test-Impact Analysis (TIA) and its real scope — it trims only
the per-app loop, runs after install, and most PRs escalate to the full
suite. Wire it into AGENTS.md so every agent reads it before e2e/CI work.

Assisted-By: Claude <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Signed-off-by: Myasnikov Daniil <[email protected]>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new documentation file to standardize end-to-end testing and CI practices within the Cozystack project. By formalizing conventions around test stability, cleanup, and failure reporting, the changes aim to reduce flaky tests and improve the overall reliability and diagnostic quality of the CI pipeline.

Highlights

  • New E2E Testing Documentation: Added a comprehensive guide at docs/agents/e2e-testing.md outlining best practices for E2E testing and CI stabilization.
  • Standardized Testing Conventions: Established core principles including avoiding retries on deterministic steps, replacing fixed sleeps with event-driven backstops, and improving failure diagnostics.
  • Documentation Integration: Updated AGENTS.md to include a reference to the new E2E testing conventions, ensuring all contributors are aware of the new standards.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment Gemini (@gemini-code-assist) Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@dosubot dosubot Bot added area/ai Issues or PRs related to AI agent guides, AGENTS.md, docs/agents/ kind/documentation Categorizes issue or PR as related to documentation labels Jun 16, 2026
@coderabbitai

coderabbitai Bot commented Jun 16, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: cf4049d6-8b6d-4f71-b360-5b2ab6b91358

📥 Commits

Reviewing files that changed from the base of the PR and between 39f3ac7 and d522c5b.

📒 Files selected for processing (2)
  • AGENTS.md
  • docs/agents/e2e-testing.md

📝 Walkthrough

Walkthrough

Adds a new agent conventions document docs/agents/e2e-testing.md that defines rules for writing, modifying, and reviewing Cozystack E2E tests and CI. A corresponding entry is added to AGENTS.md under the Activation section to register the new document.

Changes

E2E Testing Conventions

Layer / File(s) Summary
New E2E testing conventions document
docs/agents/e2e-testing.md
Introduces 106 lines of conventions covering fail-fast principle, retry scope (infra-only), kubectl wait with existence backstops over bare sleeps, teardown rules (no EXIT/RETURN traps, no || true, child→parent delete ordering), HelmRelease install-gate assertions, remediation-guard via .status.history, default-on Test-Impact Analysis, self-explanatory diagnostics requirements, deterministic environment steps, a reviewer checklist, and in-flight future directions.
AGENTS.md activation pointer
AGENTS.md
Adds an E2E tests and E2E CI block in the Activation section pointing agents to docs/agents/e2e-testing.md and listing the key constraints to follow.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 A scroll of rules now fills the den,
No sleeps, no traps, no retries — amen!
kubectl wait with backstops true,
Tear down child before parent too.
The rabbit hops with fail-fast glee,
Clear signals bloom for all to see! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and concisely summarizes the main change: adding E2E and CI testing conventions documentation to the agents documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/e2e-testing-conventions

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive guide on end-to-end (E2E) testing conventions (docs/agents/e2e-testing.md) and updates AGENTS.md to reference it. The new documentation outlines core principles (such as avoiding retries on deterministic steps to prevent hiding bugs), specific conventions for writing robust and deterministic E2E tests, a reviewer checklist, and future directions like migrating from BATS to Kyverno Chainsaw. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@github-actions github-actions Bot added the size/L This PR changes 100-499 lines, ignoring generated files label Jun 16, 2026
@lexfrei
Aleksei Sviridkin (lexfrei) merged commit 271e14e into main Jun 22, 2026
13 of 14 checks passed
@lexfrei
Aleksei Sviridkin (lexfrei) deleted the docs/e2e-testing-conventions branch June 22, 2026 08:50
Aleksei Sviridkin (lexfrei) added a commit that referenced this pull request Jun 22, 2026
## What this PR does

Promotes universal project guidance that previously lived only in a
local
(gitignored) `CLAUDE.md` into the committed agent docs, so every
contributor and
every tool (Codex/Cursor/etc., not just Claude) gets it from a fresh
clone.

- `overview.md`: Build & Development Commands (root + per-package make
targets,
build env vars), Values schema generation, a Testing section, Domain
references
- `contributing.md`: a "Verify Before Considering Done" matrix + Review
Expectations
- Dedup: `overview.md`'s Git Commits block now points to
`contributing.md`

> Note: `overview.md` links to `docs/agents/e2e-testing.md` added in
#2932 — merge
> that one first or together.

### Release note

```release-note
NONE
```


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Expanded contribution guidance with a “Verify Before Considering Done”
pre-submission checklist and clearer expectations for including
behavioral regression tests in bug-fix PRs.
* Broadened build/development documentation with a “Build and
Development Commands” guide, including required environment variables,
values-schema generation, and test entry points.
* Updated contribution workflow notes by consolidating commit-convention
guidance and adding pointers to task-specific design references.
* Added a Claude entry-point document that directs to the main agents
guide and explains local override placement.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ai Issues or PRs related to AI agent guides, AGENTS.md, docs/agents/ kind/documentation Categorizes issue or PR as related to documentation size/L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants