-
Notifications
You must be signed in to change notification settings - Fork 181
chore: run certain integration tests only on schedule/release/dispatch #6218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughAdds an integration-tests issue template, updates the CI workflow (.github/workflows/forest.yml) to add a weekly schedule, conditional gating and an extra_tests job that can create issues on main, and updates the release checklist to require the Release label and remove a manual-test note. Changes
Sequence Diagram(s)sequenceDiagram
participant Scheduler as Weekly cron
participant Dispatcher as Manual dispatch
participant PR as PR (Release label)
participant Workflow as forest.yml
participant Calibnet as calibnet-export-check-v1
participant ExtraTests as extra_tests
participant Issue as GitHub Issue API
participant Main as main branch
Scheduler->>Workflow: scheduled run
Dispatcher->>Workflow: manual dispatch
PR->>Workflow: PR run (with Release label)
Workflow->>Calibnet: run calibnet-export-check-v1 (only for gated triggers)
Calibnet-->>Workflow: success/failure
Workflow->>ExtraTests: run extra_tests (depends on calibnet-export-check-v1)
ExtraTests-->>Workflow: success/failure
alt extra_tests fails AND branch == main
Workflow->>Issue: create issue using `.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md`
Issue-->>Workflow: issue created
else other outcomes
Workflow-->>Workflow: no issue created
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (2)
🧰 Additional context used🧠 Learnings (1)📓 Common learnings⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md(1 hunks).github/workflows/forest.yml(3 hunks)documentation/src/developer_documentation/release_checklist.md(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: LesnyRumcajs
Repo: ChainSafe/forest PR: 5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
🪛 actionlint (1.7.8)
.github/workflows/forest.yml
632-632: unexpected key "always_required" for "job" section. expected one of "concurrency", "container", "continue-on-error", "defaults", "env", "environment", "if", "name", "needs", "outputs", "permissions", "runs-on", "secrets", "services", "steps", "strategy", "timeout-minutes", "uses", "with"
(syntax-check)
653-653: unexpected key "only_release_schedule_manual" for "job" section. expected one of "concurrency", "container", "continue-on-error", "defaults", "env", "environment", "if", "name", "needs", "outputs", "permissions", "runs-on", "secrets", "services", "steps", "strategy", "timeout-minutes", "uses", "with"
(syntax-check)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: All lint checks
- GitHub Check: tests-release
- GitHub Check: tests
- GitHub Check: Build forest binaries on Linux AMD64
🔇 Additional comments (5)
documentation/src/developer_documentation/release_checklist.md (1)
25-25: Clear process requirement.The addition of the Release label requirement aligns well with the CI workflow changes and enforces a consistent release procedure.
.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md (1)
1-8: Appropriate issue template structure.The template is well-structured and the use of
{{ env.WORKFLOW_URL }}provides direct access to workflow logs for debugging failures. Ensure theWORKFLOW_URLenvironment variable is properly set before this template is used (verified in forest.yml at line 665)..github/workflows/forest.yml (3)
6-7: Schedule trigger properly configured.The cron schedule is correctly formatted and the comment clearly documents the execution time. This complements the conditional gating strategy.
273-274: Release label gating correctly implemented.The conditional properly restricts the v1 export job to scheduled runs, manual dispatch, or PRs with the Release label. This aligns with the release checklist requirement.
662-673: Workflow URL and issue creation logic looks sound.The
WORKFLOW_URLsetup is correct and provides actionable debugging information. The issue creation is appropriately gated to main-branch failures. However, this logic cannot execute until the critical YAML syntax issue (lines 631-656) is resolved.Verify that this logic works correctly after fixing the critical YAML syntax issue.
581d12f to
277ea5d
Compare
Summary of changes
Changes introduced in this pull request:
Releaselabel step to the release checklist,Reference issue to close (if applicable)
Closes
Other information and links
Change checklist
Summary by CodeRabbit
New Features
Documentation