Add c9k-failure-report workflow (dry-run)#11743
Conversation
Adds a scheduled (every 6h) and manually-dispatchable workflow that runs sylvainsf/causinator9000@v1.9.0 to triage CI failures over a 48h window. Starts in dry-run mode (auto-issue-dry-run: true, assign-copilot: false) so we can assess planned-issue volume from the job summary before flipping to live issue creation in a follow-up PR.
|
This PR requires exactly 1 of the following labels: pr:standard, pr:important. Label descriptions:
@sylvainsf, please add the appropriate label to this PR before merging. |
Radius functional test overviewClick here to see the test run details
Test Status⌛ Building Radius and pushing container images for functional tests... |
| report: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: sylvainsf/causinator9000@v1.9.0 |
There was a problem hiding this comment.
Pull request overview
Adds a new scheduled GitHub Actions workflow to run Causinator9000 (C9K) every 6 hours (plus manual dispatch) to generate CI failure reports and exercise the auto-issue feature in dry-run mode.
Changes:
- Introduces
.github/workflows/c9k-failure-report.ymlto run C9K on a 6-hour cadence withauto-issueenabled in dry-run. - Configures job-scoped permissions and a main-repo fork guard for the reporting job.
- Pins the action to a full commit SHA (in the intended workflow definition).
| name: C9K CI Failure Report | ||
|
|
||
| on: | ||
| schedule: | ||
| - cron: '0 */6 * * *' | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
| issues: write | ||
| actions: read | ||
|
|
||
| jobs: | ||
| report: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: sylvainsf/causinator9000@v1.9.0 | ||
| with: | ||
| repo: ${{ github.repository }} | ||
| hours: '48' | ||
| auto-issue: 'true' | ||
| auto-issue-dry-run: 'true' | ||
| auto-issue-min-confidence: '90' | ||
| auto-issue-min-members: '2' | ||
| auto-issue-classes: 'CodeChange,BrokenTestRun,DepMajorBump' | ||
| auto-close-flaky: 'true' | ||
| assign-copilot: 'false' | ||
| github-token: ${{ secrets.GITHUB_TOKEN }} |
There was a problem hiding this comment.
The workflow file contains a second top-level workflow definition starting at line 36 (name: C9K CI Failure Report). In YAML, duplicate top-level keys will override earlier ones, which will effectively discard the intended job settings above (including the fork guard and timeout) and can make the workflow behave differently than expected. Remove the duplicated block (lines 36-63) so the file defines a single workflow.
| name: C9K CI Failure Report | |
| on: | |
| schedule: | |
| - cron: '0 */6 * * *' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| issues: write | |
| actions: read | |
| jobs: | |
| report: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: sylvainsf/causinator9000@v1.9.0 | |
| with: | |
| repo: ${{ github.repository }} | |
| hours: '48' | |
| auto-issue: 'true' | |
| auto-issue-dry-run: 'true' | |
| auto-issue-min-confidence: '90' | |
| auto-issue-min-members: '2' | |
| auto-issue-classes: 'CodeChange,BrokenTestRun,DepMajorBump' | |
| auto-close-flaky: 'true' | |
| assign-copilot: 'false' | |
| github-token: ${{ secrets.GITHUB_TOKEN }} |
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: sylvainsf/causinator9000@v1.9.0 |
There was a problem hiding this comment.
The duplicated block uses an unpinned action reference (sylvainsf/causinator9000@v1.9.0) and runs-on: ubuntu-latest, which conflicts with the repository’s SHA-pinning policy and the use of fixed runner images elsewhere. If this block remains for any reason, pin the action to a full commit SHA (with a version comment) and use a fixed runner image (e.g., ubuntu-24.04).
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: sylvainsf/causinator9000@v1.9.0 | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: sylvainsf/causinator9000@5be8cf7dfbb78394eb7f6f2c97e2a9a5ab95deef # v1.9.0 |
| auto-close-flaky: "true" | ||
| assign-copilot: "false" | ||
| github-token: ${{ secrets.GITHUB_TOKEN }} |
There was a problem hiding this comment.
This file is the only workflow using ${{ secrets.GITHUB_TOKEN }} directly; the rest of the repo generally uses ${{ github.token }} for the automatically-provisioned workflow token. Consider switching to ${{ github.token }} for consistency (and to avoid implying a user-managed secret).
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #11743 +/- ##
==========================================
+ Coverage 51.42% 51.44% +0.01%
==========================================
Files 699 699
Lines 55723 55723
==========================================
+ Hits 28654 28664 +10
+ Misses 24901 24895 -6
+ Partials 2168 2164 -4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
What
Adds a new GitHub Actions workflow at
.github/workflows/c9k-failure-report.ymlthat runs sylvainsf/causinator9000 (C9K) to triage CI failures and propose issues for recurring problems.Why
Complements the existing
c9k-nightlyworkflow with a higher-cadence (every 6 hours) report focused on the new auto-issue feature. We want C9K to start filing/closing issues for high-confidence failure clusters, but first we need to validate the volume and quality of what it would file.How
workflow_dispatchsylvainsf/causinator9000@5be8cf7dfbb78394eb7f6f2c97e2a9a5ab95deef(v1.9.0) per repo SHA-pinning policycontents: read,issues: write,actions: readif: github.repository == 'radius-project/radius'hours: 48auto-issue: truewithauto-issue-dry-run: true(no issues actually filed yet)auto-issue-min-confidence: 90,auto-issue-min-members: 2auto-issue-classes: CodeChange,BrokenTestRun,DepMajorBumpauto-close-flaky: trueassign-copilot: falseRollout plan
auto-issue-dry-runtofalseandassign-copilottotrue.Reference