Skip to content

Fix Smoke CI: add paths filter + concurrency group to eliminate 100% error rate#28794

Merged
pelikhan merged 3 commits intomainfrom
copilot/deep-report-fix-smoke-ci
Apr 27, 2026
Merged

Fix Smoke CI: add paths filter + concurrency group to eliminate 100% error rate#28794
pelikhan merged 3 commits intomainfrom
copilot/deep-report-fix-smoke-ci

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 27, 2026

Smoke CI had a 100% error rate (22/22 runs in the Apr 20–27 window) due to triggering on every push to main with no paths filter, causing queue build-up and cascading infrastructure failures with 0 agent starts.

Changes

  • smoke-ci.md (+ recompiled smoke-ci.lock.yml):
    • Add paths: filter to push trigger — fires on Go source changes and JS safe-output script changes:
      push:
        branches: [main]
        paths: ['cmd/**', 'pkg/**', '*.go', 'go.mod', 'actions/setup/js/**']
    • Add concurrency group to cancel stale in-progress runs:
      concurrency:
        group: smoke-ci-${{ github.ref }}
        cancel-in-progress: true
    • Remove reaction: "eyes" and status-comment: true triggers — irrelevant for CI smoke testing

- Add paths filter to push trigger (cmd/**, pkg/**, *.go, go.mod)
- Add concurrency group with cancel-in-progress: true
- Remove reaction and status-comment triggers
- Recompile smoke-ci.lock.yml

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/3d5f6e50-b40f-459e-8e65-4144da90e046

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix Smoke CI by adding paths filter and concurrency group Fix Smoke CI: add paths filter + concurrency group to eliminate 100% error rate Apr 27, 2026
Copilot AI requested a review from gh-aw-bot April 27, 2026 20:56
@github-actions
Copy link
Copy Markdown
Contributor

Hey @Copilot 👋 — great work diagnosing and fixing the Smoke CI 100% error rate! The root causes (missing paths filter causing every main push to trigger a run, and the overly broad concurrency group key) are clearly identified and addressed.

One small gap to flag:

  • No test coverage — the changes are purely to the workflow YAML and its compiled lock file, so there's no traditional unit/integration test to write here. That said, if the project has a workflow-validation or schema-lint step (e.g. a YAML schema check or a CI dry-run), running that would strengthen confidence in the fix.

If you'd like a hand validating the workflow changes, you can assign this prompt to your coding agent:

Validate the smoke-ci workflow changes in .github/workflows/smoke-ci.md and .github/workflows/smoke-ci.lock.yml:
1. Confirm the `paths` filter covers all Go source entry points (cmd/**, pkg/**, *.go, go.mod).
2. Confirm the concurrency group key `smoke-ci-${{ github.ref }}` correctly serialises runs per branch without over-serialising across unrelated refs.
3. If a YAML schema validation or workflow lint script exists in this repo, run it against the updated files and report any warnings.

Generated by Contribution Check · ● 1.7M ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot trigger on actions/setup/js

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/ab21a96e-08f7-4294-8d3a-304e1ae533d8

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 27, 2026

@copilot trigger on actions/setup/js

Done — added actions/setup/js/** to the paths filter in 666bef6.

paths: ['cmd/**', 'pkg/**', '*.go', 'go.mod', 'actions/setup/js/**']

Copilot AI requested a review from pelikhan April 27, 2026 21:59
@pelikhan pelikhan marked this pull request as ready for review April 27, 2026 22:03
Copilot AI review requested due to automatic review settings April 27, 2026 22:03
@pelikhan pelikhan merged commit 34f6626 into main Apr 27, 2026
20 checks passed
@pelikhan pelikhan deleted the copilot/deep-report-fix-smoke-ci branch April 27, 2026 22:03
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

Note

Copilot was unable to run its full agentic suite in this review.

Updates the Smoke CI workflow to reduce unnecessary runs and mitigate CI backlog by restricting triggers and canceling superseded executions.

Changes:

  • Added a paths filter for push on main to limit runs to relevant Go/JS workflow inputs.
  • Added a workflow-level concurrency group with cancel-in-progress: true to prevent queue buildup.
  • Removed reaction/comment-related behavior and associated permissions from the compiled lock workflow.
Show a summary per file
File Description
.github/workflows/smoke-ci.md Adds paths filtering and concurrency; removes reaction/comment trigger configuration.
.github/workflows/smoke-ci.lock.yml Recompiled workflow reflecting the new triggers/concurrency and removal of comment/reaction steps/permissions.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 4

on:
push:
branches: [main]
paths: ['cmd/**', 'pkg/**', '*.go', 'go.mod', 'actions/setup/js/**']
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

The PR description says the workflow should fire on “Go source changes”, but *.go only matches Go files in the repo root and the list only covers cmd/** and pkg/**. If Go code exists in other directories (e.g., internal/**, api/**, etc.), pushes touching those will no longer run Smoke CI. Consider broadening the glob(s) (e.g., **/*.go) and including go.sum if dependency changes should also trigger.

Copilot uses AI. Check for mistakes.
paths: ['cmd/**', 'pkg/**', '*.go', 'go.mod', 'actions/setup/js/**']
schedule: daily
pull_request:
types: [opened, synchronize, reopened]
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

Only the push trigger is path-filtered; pull_request will still run Smoke CI for any PR change (docs-only, config-only, etc.). If the goal is to reduce load/queue pressure, add an equivalent paths: filter under pull_request as well so PR updates that don’t touch relevant files don’t enqueue runs.

Suggested change
types: [opened, synchronize, reopened]
types: [opened, synchronize, reopened]
paths: ['cmd/**', 'pkg/**', '*.go', 'go.mod', 'actions/setup/js/**']

Copilot uses AI. Check for mistakes.
reaction: "eyes"
status-comment: true
concurrency:
group: smoke-ci-${{ github.ref }}
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

Using only ${{ github.ref }} for the concurrency group can cause different event types on the same ref (e.g., schedule and push on main) to cancel each other. If you want scheduled runs to be independent from push-triggered runs, include ${{ github.event_name }} (or ${{ github.workflow }}) in the group key to avoid cross-event cancellations while still deduplicating within each event/ref.

Suggested change
group: smoke-ci-${{ github.ref }}
group: smoke-ci-${{ github.event_name }}-${{ github.ref }}

Copilot uses AI. Check for mistakes.
Comment on lines +94 to +95
comment_id: ""
comment_repo: ""
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

The workflow now emits comment_id/comment_repo outputs as constant empty strings. This can hide mistakes if later steps/jobs still reference these outputs (they’ll get empty values rather than failing loudly). If comment functionality is fully removed, consider removing these outputs entirely (or only setting them when the corresponding steps run) to keep the workflow contract clear.

Suggested change
comment_id: ""
comment_repo: ""

Copilot uses AI. Check for mistakes.
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.

[deep-report] Fix Smoke CI: add paths filter + concurrency group to eliminate 100% error rate (22/22 runs)

4 participants