Replayable Email Checks with GitHub Actions
说明与用途
在 CI 流水线中,邮件验证测试经常因超时而失败,缺乏详细错误信息。此方案通过唯一运行 ID、受限日志和简洁的收据,快速定位并重现失败。
问题
Email verification tests in CI often fail silently with vague timeout errors, making diagnosis slow and opaque.
结果
The workflow now outputs a concise, redacted receipt that clearly indicates whether the email was delivered, the message was found, and the verification endpoint succeeded, replacing vague timeout failures with actionable insights.
工作流
- Generate a unique run ID and inbox identity
- Run a helper script that creates an address, requests a verification email, polls the inbox, and calls the verification endpoint
- Log state transitions and safe response metadata
- Redact tokens, message bodies, and verification URLs
- Upload the receipt artifact with
if: always() - Use manual dispatch to replay the exact check
- Expire artifacts according to privacy policy
证据
The receipt should contain timestamps, step names, HTTP status codes, correlation IDs, and a final reason. It should not contain the inbox token, verification URL, full message body, or personal data.
One small detail matters: use a unique address or namespace for every run.
- 记录日期: 2026-09-17T15:30:33.748Z