Conversation
Automated sync from stranske/Workflows Template hash: 20d0e241bca2 Changes synced from sync-manifest.yml
There was a problem hiding this comment.
Pull request overview
Syncs workflow-consumer automation scripts from stranske/Workflows into this repo, updating weekly metrics aggregation/selection and PR source-context + metadata automation behavior.
Changes:
- Tightens metrics aggregation typing/contracts and artifact selection reporting.
- Extends weekly metrics artifact collection to additionally pull artifacts from “priority producer” workflows (bounded by a new cap).
- Enhances PR workflow source-context parsing and propagates a new “no automation” signal into parts of PR automation.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/aggregate_agent_metrics.py | Adds Counter[str] typing and normalizes missing_priority_families contract output. |
| .github/scripts/weekly_metrics_artifacts.js | Adds priority-workflow artifact collection + new option priority_workflow_runs_per_source. |
| .github/scripts/source_context.js | Improves checkbox parsing and introduces noAutomation context detection. |
| .github/scripts/coverage_monitor_summary.js | Wraps statSync in try/catch to avoid crashes on filesystem races. |
| .github/scripts/agents_pr_meta_update_body.js | Refines workflow-source repair comment text and adds issue-sync detection helpers + repair-comment resolution flow. |
| .github/scripts/agents_pr_meta_keepalive.js | Skips keepalive dispatch when PR source context opts out of automation. |
| if (sourceContext.noAutomation) { | ||
| outputs.reason = 'no-automation-source-context'; | ||
| outputs.dispatch = 'false'; | ||
| core.info( | ||
| `Keepalive dispatch skipped: PR source context opts out of automation (${formatSourceContextForLog(sourceContext)}).`, |
There was a problem hiding this comment.
sourceContext.noAutomation is checked only after the workflow has already added/validated the instruction + lock reactions. If workflow:no-automation is meant to avoid automation side-effects, consider short-circuiting earlier (right after resolvePrSourceContext) so the workflow doesn't mutate comment reactions before skipping dispatch.
|
|
||
| const explicitNonIssueSourceContext = resolveExplicitNonIssueWorkflowSourceContext(pr); | ||
| const issueNumber = extractIssueNumberFromPull(pr); | ||
| const sourceContext = resolvePrSourceContext(pr); |
There was a problem hiding this comment.
resolvePrSourceContext(pr) now exposes a noAutomation flag, but this script does not currently honor it and can still perform PR-body sync / comment updates when workflow:no-automation is set. If no-automation is intended to opt out of PR metadata automation, add an early return when sourceContext.noAutomation is true (before any syncing or comment mutations).
| const sourceContext = resolvePrSourceContext(pr); | |
| const sourceContext = resolvePrSourceContext(pr); | |
| if (sourceContext && sourceContext.noAutomation) { | |
| core.info( | |
| `PR #${pr.number} has workflow no-automation enabled (${formatSourceContextForLog(sourceContext)}); skipping PR metadata automation.`, | |
| ); | |
| return; | |
| } |
|
Closing as stale: newer sync workflow templates PR #657 is open for this repo. |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Source SHA:
8a344d64eb1ca1e2318692e5f4c17c45415c7dccTemplate hash:
20d0e241bca2Sync branch:
sync/workflows-20d0e241bca2Consumer repo:
stranske/TemplateManifest:
.github/sync-manifest.yml