Skip to content

Add CI step that asserts EVENT_SCHEMA.md includes one row per env.events().publish site (grep gate) #447

Description

@greatest0fallt1me

Description

We want a mechanical gate: count env.events().publish( sites across the three crates and require EVENT_SCHEMA.md to mention each topic. Fails the CI build if a new emit is added without a doc entry.

Requirements and Context

  • New scripts/check_event_schema_coverage.sh
  • Wire into .github/workflows/*.yml
  • Must be secure, tested, and documented
  • Should be efficient and easy to review

Suggested Execution

  1. Fork the repo and create a branch
    git checkout -b ci/event-schema-coverage-gate
  2. Implement changes
    • scripts/check_event_schema_coverage.sh
    • Workflow update
  3. Test and commit
    • Run script locally and confirm pass; intentionally add a fake publish to confirm fail
    • Include test output and notes in the PR

Example commit message

ci: gate event schema coverage against publish-site count

Acceptance Criteria

  • Script reports clear diff when topics missing from EVENT_SCHEMA.md
  • CI fails on missing entries
  • Handles #[cfg(test)] blocks correctly (excluded)

Guidelines

  • .rs only under contracts/.../src/ if any; NatSpec-style /// doc comments
  • Use real Soroban SDK idioms
  • Clear documentation and inline comments
  • Timeframe: 96 hours

Metadata

Metadata

Assignees

Labels

GRANTFOX OSSGrantFox open-source campaign taskOFFICIAL CAMPAIGNOfficial GrantFox campaign issueStellar WaveStellar Wave Program issuedocumentationDocumentationrustRust implementationsmart-contractSoroban smart-contract worksorobanSoroban SDK / StellartestingTests and coverage

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions