Skip to content

Add c9k-failure-report workflow (dry-run)#11743

Merged
sylvainsf merged 1 commit into
mainfrom
add-c9k-failure-report
Apr 23, 2026
Merged

Add c9k-failure-report workflow (dry-run)#11743
sylvainsf merged 1 commit into
mainfrom
add-c9k-failure-report

Conversation

@sylvainsf
Copy link
Copy Markdown
Contributor

What

Adds a new GitHub Actions workflow at .github/workflows/c9k-failure-report.yml that runs sylvainsf/causinator9000 (C9K) to triage CI failures and propose issues for recurring problems.

Why

Complements the existing c9k-nightly workflow 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

  • Schedule: every 6 hours, plus workflow_dispatch
  • Pinned to sylvainsf/causinator9000@5be8cf7dfbb78394eb7f6f2c97e2a9a5ab95deef (v1.9.0) per repo SHA-pinning policy
  • Job-scoped permissions: contents: read, issues: write, actions: read
  • Fork guard: if: github.repository == 'radius-project/radius'
  • Inputs:
    • hours: 48
    • auto-issue: true with auto-issue-dry-run: true (no issues actually filed yet)
    • auto-issue-min-confidence: 90, auto-issue-min-members: 2
    • auto-issue-classes: CodeChange,BrokenTestRun,DepMajorBump
    • auto-close-flaky: true
    • assign-copilot: false

Rollout plan

  1. Merge this PR.
  2. Manually dispatch the workflow from the Actions tab.
  3. Inspect the planned-actions table in the job summary to assess issue volume.
  4. Once volume looks right, open a follow-up PR to flip auto-issue-dry-run to false and assign-copilot to true.

Reference

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.
Copilot AI review requested due to automatic review settings April 23, 2026 05:57
@sylvainsf sylvainsf requested review from a team as code owners April 23, 2026 05:57
@github-actions
Copy link
Copy Markdown

This PR requires exactly 1 of the following labels: pr:standard, pr:important.
Currently applied labels: .

Label descriptions:

  • pr:important - Major features, breaking changes, deprecations, or other high-impact changes that need special attention during release.
  • pr:standard - Ongoing maintenance, minor improvements, documentation updates, and routine development work.

@sylvainsf, please add the appropriate label to this PR before merging.

@sylvainsf sylvainsf merged commit 3c6e8ee into main Apr 23, 2026
43 of 46 checks passed
@sylvainsf sylvainsf deleted the add-c9k-failure-report branch April 23, 2026 05:58
@radius-functional-tests
Copy link
Copy Markdown

radius-functional-tests Bot commented Apr 23, 2026

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository radius-project/radius
Commit ref 12b9bd7
Unique ID func5307c374d2
Image tag pr-func5307c374d2
  • gotestsum 1.13.0
  • KinD: v0.29.0
  • Dapr: 1.14.4
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func5307c374d2
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func5307c374d2
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func5307c374d2
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func5307c374d2
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func5307c374d2
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp-cloud functional tests...
⌛ Starting corerp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

report:
runs-on: ubuntu-latest
steps:
- uses: sylvainsf/causinator9000@v1.9.0
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml to run C9K on a 6-hour cadence with auto-issue enabled 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).

Comment on lines +36 to +63
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 }}
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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 }}

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +52
runs-on: ubuntu-latest
steps:
- uses: sylvainsf/causinator9000@v1.9.0
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
runs-on: ubuntu-latest
steps:
- uses: sylvainsf/causinator9000@v1.9.0
runs-on: ubuntu-24.04
steps:
- uses: sylvainsf/causinator9000@5be8cf7dfbb78394eb7f6f2c97e2a9a5ab95deef # v1.9.0

Copilot uses AI. Check for mistakes.
Comment on lines +33 to +35
auto-close-flaky: "true"
assign-copilot: "false"
github-token: ${{ secrets.GITHUB_TOKEN }}
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 51.44%. Comparing base (d03e8ef) to head (12b9bd7).
⚠️ Report is 2 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants