[lockfile-stats] Lockfile Statistics Analysis — 2026-08-09 #51638
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-08-10T20:27:19.717Z.
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Analysis of all
.github/workflows/*.lock.ymlfiles compiled in this repository as of 2026-08-09. All 284 lockfiles parsed successfully (0 skipped, PyYAML available).Executive Summary
File Size Distribution
notion-issue-summary.lock.ymlsmoke-copilot-aoai-entra.lock.ymlTrigger Analysis
workflow_dispatchschedulepull_requestissuesissue_commentworkflow_calldiscussion,discussion_comment,push,workflow_run,deployment_statusTop trigger combinations:
schedule+workflow_dispatch(190, 66.9%),workflow_dispatchonly (48, 16.9%),pull_request+workflow_dispatch(34, 12.0%).Full trigger combination and cron-frequency breakdown
Cron schedules are highly diverse — 193 scheduled workflows use ~100 distinct cron expressions, mostly scattered across the day/week to spread load; only
7 5 * * *repeats as often as 3 times, ten expressions repeat twice, the rest are unique.Safe Outputs Analysis
create-issuecreate-discussionadd-commentcreate-pull-requestcreate-pull-request-review-commentupdate-issueBaseline toolkit (
missing-tool,missing-data,noop,report-incomplete,create-report-incomplete-issue) appears in 273/284 files (96.1%) — effectively a standard bundle across the fleet.Discussion categories (of the 88 workflows creating discussions):
auditsdominates with 78 (88.6%);artifacts,dev,announcements,researcheach appear twice;generalanddaily-newsonce each.Long tail of less-common safe outputs
push-repo-memory(32),upload-asset(26),add-labels(25),mentions(22),submit-pull-request-review(13),create-check-run(11),push-to-pull-request-branch(11),upload-artifact(11),max-bot-mentions(8),close-issue(5),assign-to-agent(5),comment-memory(5),update-pull-request(4),close-pull-request(4),link-sub-issue(4),create-code-scanning-alert(3),close-discussion(3), remaining types (create-agent-session,resolve-pull-request-review-thread,remove-labels,dismiss-pull-request-review,call-workflow,update-release,add-reviewer,post-slack-message,post-to-slack-channel,send-slack-message,dispatch-workflow,assign-to-user,test-environment,create-project-status-update,update-project) appear 1-2 times each.Structural Characteristics
release.lock.ymlsmoke-copilot.lock.ymlsmoke-copilot-aoai-entra.lock.ymlPermission Patterns
Aggregated across all job-level
permissions:blocks (a workflow's jobs may each grant scopes independently, so counts reflect job-grants, not distinct workflows):Timeout budgeting is highly standardized: 285 job instances use a 45-minute timeout, 29 use 10 minutes, and only 2 use 5 minutes — the 45-minute budget is effectively the fleet-wide default for primary agent jobs.
Tool & MCP Patterns
Engine distribution (284 workflows, one engine each):
MCP server mentions (raw text occurrence counts, not distinct-workflow adoption):
gh-aw-mcpggateway (1,627),github-mcp-server(1,228),serena-mcp-server(127, niche use). Per-tool call frequencies were not captured by this analyzer version — see Recommendations.Interesting Findings
workflow_dispatch, and two-thirds (66.9%) pair it withschedule— the dominant pattern is "scheduled but manually re-runnable," not push/PR-triggered.create-issuevs. 31.0% viacreate-discussion, even though the baseline safe-outputs bundle (missing-tool/missing-data/noop/report-incomplete) is present in 96.1% of files — most workflows are equipped to report gaps but differ in their primary output channel.auditscategory specifically.smoke-copilot-aoai-entra.lock.ymlis both the largest file (220 KB) and has the most script-like steps (129), whilesmoke-copilot.lock.ymlhas the most total steps (194) — both well above the ~135-step fleet average.Historical Trends
Compared to the prior snapshot (2026-08-08):
workflow_dispatchcountNo structural change day-over-day; the byte delta reflects minor recompilation drift (e.g., pinned action SHA/version bumps) rather than new workflows or triggers.
Recommendations
create-discussionandcreate-issueto reduce inconsistent reporting patterns across similar workflow types.auditscategory, confirm the divergence is intentional rather than a copy-paste gap from theauditstemplate.mcp_toolswas empty this run) — a future script version (bump tolockfile_stats_v2.py) should extract tool-level usage from the generated safe-outputs/tools configuration for deeper MCP insight.Methodology
Single-script compact JSON analysis: one cached Python analyzer (
lockfile_stats_v1.py, persisted at/tmp/gh-aw/cache-memory/scripts/) parsed all 284.github/workflows/*.lock.ymlfiles withyaml.safe_loadplus targeted regex extraction (for embedded safe-outputs config JSON and engine metadata), producing one compact JSON summary consumed for this report. A schema-preserving bug fix was applied in-place this run: the prior version's safe-output-type detection used naive substring search across the whole file text, which falsely reported 100% adoption for several output types; it now parses the actual embeddedsafeoutputs/config.jsonheredoc per file for accurate per-workflow type counts.References:
All reactions