chore: automate checkpoints updates#6641
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review infoConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
WalkthroughRemoved the manual checkpoint issue template and replaced the monthly issue-based process with a daily GitHub Actions workflow that runs a Dockerized update-checkpoints step, obtains a GitHub App token, and opens automated pull requests to update Forest checkpoints. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Scheduler as "GitHub Actions (cron)"
participant Workflow as "checkpoints.yml"
participant AppToken as "GitHub App Token Service"
participant Runner as "Actions Runner (Docker)"
participant GitHub as "GitHub API (PR)"
Scheduler->>Workflow: trigger (daily)
Workflow->>AppToken: request app token (app-id + private-key)
AppToken-->>Workflow: return token
Workflow->>Runner: run Docker job (mount workspace, run update-checkpoints)
Runner->>Runner: download snapshots / compute checkpoints
Runner->>Workflow: produce changes (branch refs / commit)
Workflow->>GitHub: create/update PR using token
GitHub-->>Workflow: respond with PR metadata
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/checkpoints.yml (1)
14-16: Pin the Docker image digest for reproducible checkpoint updates.The mutable
:edgetag can point to different image versions across scheduled runs, potentially causing nondeterministic checkpoint outputs. Since this workflow commits generated checkpoints to a pull request, pinning to a specific digest ensures consistent, reproducible results.Consider updating the image reference:
- docker run --rm -v $PWD:/app -w /app --entrypoint forest-dev ghcr.io/chainsafe/forest:edge update-checkpoints + docker run --rm -v $PWD:/app -w /app --entrypoint forest-dev ghcr.io/chainsafe/forest@sha256:<DIGEST> update-checkpointsReplace
<DIGEST>with the actual digest of the desired image version (e.g., fromdocker inspect ghcr.io/chainsafe/forest:edge).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/checkpoints.yml around lines 14 - 16, The workflow step named "Update checkpoints" uses the mutable image tag ghcr.io/chainsafe/forest:edge; replace that tag with a pinned digest (ghcr.io/chainsafe/forest@sha256:<DIGEST>) to ensure reproducible runs—obtain the correct <DIGEST> via docker inspect or registry lookup for the desired image version and update the docker run command in the "Update checkpoints" step to use the `@sha256`:<DIGEST> form.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/checkpoints.yml:
- Around line 14-16: The workflow step named "Update checkpoints" uses the
mutable image tag ghcr.io/chainsafe/forest:edge; replace that tag with a pinned
digest (ghcr.io/chainsafe/forest@sha256:<DIGEST>) to ensure reproducible
runs—obtain the correct <DIGEST> via docker inspect or registry lookup for the
desired image version and update the docker run command in the "Update
checkpoints" step to use the `@sha256`:<DIGEST> form.
ℹ️ Review info
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/CHECKPOINT_ISSUE_TEMPLATE.md.github/workflows/checkpoints.yml
💤 Files with no reviewable changes (1)
- .github/CHECKPOINT_ISSUE_TEMPLATE.md
31518cc to
a8cfb28
Compare
Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)
Closes #3264
Other information and links
Change checklist
Outside contributions
Summary by CodeRabbit