Conversation
Automated sync from stranske/Workflows Template hash: c8c8eac6035c Changes synced from sync-manifest.yml
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 14d7cfcc11
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const candidate = | ||
| runs.find((run) => ['success', 'neutral'].includes(run.conclusion || '')) || runs[0]; |
There was a problem hiding this comment.
Preserve artifact-qualified Gate run selection
Select a Gate run that actually published gate-coverage-trend before setting run_id; this new selection logic picks the newest successful/neutral run regardless of artifacts, so docs-only or otherwise non-coverage runs can be chosen. In that case all artifact downloads are allowed to fail (continue-on-error: true) and tools/coverage_guard.py exits early when no trend payload is present, which silently skips baseline monitoring for that day even if an earlier run has valid coverage artifacts.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Syncs the maint-coverage-guard workflow template from stranske/Workflows, updating how the workflow discovers the latest Gate (pr-00-gate.yml) run used to download coverage artifacts and drive the daily baseline monitoring.
Changes:
- Replaced usage of
.github/scripts/select_coverage_gate_runwith an inlinelistWorkflowRunsquery (optionally usinggithub-api-with-retry.js). - Adjusted Gate run selection logic to pick the newest completed run (preferring
success/neutral) and simplified the notice output.
Comments suppressed due to low confidence (2)
.github/workflows/maint-coverage-guard.yml:150
paginateWithRetry(github, github.rest.actions.listWorkflowRuns, ...)will paginate through all completed Gate runs, which can be thousands and burn API quota/time unnecessarily. Since you only need the most recent eligible run, prefer a singlelistWorkflowRunscall (or stop pagination once a match is found).
const runs = await paginateWithRetry(
github, github.rest.actions.listWorkflowRuns,
{
owner,
repo,
workflow_id: workflowId,
status: 'completed',
per_page: 50,
},
);
.github/workflows/maint-coverage-guard.yml:165
- The selected
candidaterun is not validated to contain the coverage artifacts (e.g.gate-coverage-trend). If a successful/neutral Gate run completed without uploading artifacts (docs-only/early-exit), the downloads will fail andtools/coverage_guard.pywill skip updates due to missing trend payload. Prefer selecting the newest run that actually has the required artifact(s) (or reuseselect_coverage_gate_run).
const candidate =
runs.find((run) => ['success', 'neutral'].includes(run.conclusion || '')) || runs[0];
| github-token: ${{ secrets.GITHUB_TOKEN }} | ||
| script: | | ||
| const { owner, repo } = context.repo; | ||
| const workflowId = '.github/workflows/pr-00-gate.yml'; |
|
Closing as stale; newer sync workflow templates PR #5336 exists for the latest Workflows sync wave. |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Source SHA:
08607f6553ee4b376326c59385f0164b9c6f20f1Template hash:
c8c8eac6035cSync branch:
sync/workflows-c8c8eac6035cConsumer repo:
stranske/Trend_Model_ProjectManifest:
.github/sync-manifest.yml