Skip to content

feat(ci): add E2E test pipeline for plugin hooks#1018

Merged
JeremyDev87 merged 2 commits into
masterfrom
feat/e2e-plugin-tests-1006
Mar 27, 2026
Merged

feat(ci): add E2E test pipeline for plugin hooks#1018
JeremyDev87 merged 2 commits into
masterfrom
feat/e2e-plugin-tests-1006

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

Summary

Closes #1006

  • E2E test framework (tests/e2e/plugin-hooks/) with CLI mock simulating Claude Code stdin/stdout hook protocol
  • 59 tests covering all hook lifecycles:
    • SessionStart: hook installation, settings registration, idempotency, buddy greeting
    • UserPromptSubmit: multilingual mode keyword detection (EN/KO/JA/ZH/ES), context injection
    • PreToolUse: git commit quality gate, agent status display, non-Bash passthrough
    • Stop: session summary generation, graceful degradation
    • Full lifecycle: SessionStart → PreToolUse → PostToolUse → Stop integration
  • GitHub Actions workflow (.github/workflows/e2e-plugin.yml) with Python 3.11/3.12 matrix + Docker isolation
  • Dockerfile for reproducible test environment (Python + Node.js)

Test plan

  • All 59 E2E tests pass locally (pytest tests/e2e/plugin-hooks/ -v)
  • CI workflow triggers on push to packages/claude-code-plugin/hooks/**
  • Docker-based E2E job builds and runs successfully

- Create tests/e2e/plugin-hooks/ with CLI mock framework simulating
  Claude Code stdin/stdout hook protocol
- Add E2E tests for all hook lifecycles:
  - SessionStart: hook installation, mode detect registration, idempotency
  - UserPromptSubmit: multilingual mode keyword detection (EN/KO/JA/ZH/ES)
  - PreToolUse: git commit quality gate, agent status, non-Bash passthrough
  - Stop: session summary generation, graceful degradation
  - Full lifecycle: SessionStart → PreToolUse → PostToolUse → Stop integration
- Add .github/workflows/e2e-plugin.yml with Python 3.11/3.12 matrix
  and Docker-based isolation environment
- 59 tests passing
@JeremyDev87 JeremyDev87 added the wave-2 Wave 2: First Impression (parallel) label Mar 27, 2026
@vercel

vercel Bot commented Mar 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codingbuddy-landing Ready Ready Preview, Comment Mar 27, 2026 4:46pm

The Docker build context is the project root, so COPY must use the
full relative path. Also add git config for test fixtures.
@JeremyDev87 JeremyDev87 self-assigned this Mar 27, 2026
@JeremyDev87 JeremyDev87 merged commit 96346b1 into master Mar 27, 2026
5 checks passed
@JeremyDev87 JeremyDev87 deleted the feat/e2e-plugin-tests-1006 branch March 27, 2026 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wave-2 Wave 2: First Impression (parallel)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ci): add E2E test pipeline for plugin hooks

1 participant