Conversation
* chore: refresh shanghai track assets * chore: refresh Albert Park assets and restore sync workflow * chore: reprocess Albert Park track bitmap * chore: refresh Albert Park track asset * ci: use SYNC_PAT for release-triggered sync
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| Python | Mar 11, 2026 7:42a.m. | Review ↗ | |
| Docker | Mar 11, 2026 7:42a.m. | Review ↗ | |
| Secrets | Mar 11, 2026 7:42a.m. | Review ↗ |
Greptile SummaryThis is an automated sync PR merging Key changes:
One style concern: the "Enable auto-merge" step runs even if the "Trigger CI" step fails, which could leave the PR in an indefinite waiting state. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Dev as Developer
participant Main as main branch
participant RW as release.yml
participant GH as GitHub (Release)
participant SW as sync-main-to-dev.yml
participant CI as ci.yml
Dev->>Main: Push CHANGELOG.md update
Main->>RW: Triggers (push to main)
RW->>GH: createRelease() via SYNC_PAT
GH-->>SW: release:published event
SW->>SW: git fetch + capture main_sha
SW->>SW: git merge origin/main → sync/main-to-dev
SW->>Main: git push sync/main-to-dev
SW->>GH: Create / update sync PR
SW->>CI: workflow_dispatch on sync/main-to-dev
CI-->>GH: Check run posted on sync branch SHA
SW->>GH: Enable auto-merge on PR
GH->>GH: Auto-merge when checks pass
Last reviewed commit: f5d22d7 |
| - name: Enable auto-merge for sync PR | ||
| if: steps.prepare.outputs.has_changes == 'true' | ||
| uses: actions/github-script@v7 |
There was a problem hiding this comment.
Auto-merge enabled even if CI trigger fails
The "Enable auto-merge" step runs unconditionally (only gating on has_changes == 'true') regardless of whether the preceding "Trigger CI" step succeeded. If createWorkflowDispatch throws (e.g., transient API error, rate limit), that step will fail, but auto-merge will still be enabled. The PR will then sit indefinitely waiting for a CI check run that never materialises, requiring manual intervention to restart.
Consider adding a condition on the auto-merge step to only run if CI triggering succeeded, or wrapping the dispatch call in a try/catch that falls back gracefully:
- name: Enable auto-merge for sync PR
if: steps.prepare.outputs.has_changes == 'true' && steps.trigger_ci.outcome == 'success'
This requires setting id: trigger_ci on the preceding step.
Automated sync PR to keep
devaligned withmainafter published releases.This PR is managed by CI.