Skip to content

Align issue and PR auto-close automation across Azure Monitor repositories - #1544

Merged
Hector Hernandez (hectorhdzg) merged 7 commits into
mainfrom
hectorh/align-issue-automation
Oct 22, 2026
Merged

Hector Hernandez (hectorhdzg) merged 7 commits into
mainfrom
hectorh/align-issue-automation

Conversation

@hectorhdzg

@hectorhdzg Hector Hernandez (hectorhdzg) commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Aligns issue and PR auto-close automation across the Azure Monitor repositories so they all follow the same rules. The same three workflow files are used in each repo.

Rules

Workflow Trigger Behavior
needs-author-feedback needs-author-feedback label added / author comments Pings the author when the label is added. When the author replies, removes the label, and reopens the issue if it was auto-closed for missing feedback
needs-author-feedback-followup daily Reminder at 7 days, closes at 14 days without an author reply (issues only; keep opts out)
stale daily Issues: no activity for 90 days → stale, closed 14 days later. PRs: 30 days → stale, closed 14 days later. Oldest first and throttled so existing backlogs are worked down gradually

stale intentionally uses a single actions/stale invocation: the action persists its progress under one fixed cache key, so multiple invocations would overwrite each other's progress.

Exempt from inactivity closure: keep, needs-team-attention, waiting labels (waiting, waiting-external, waiting for backend fix, waiting - CDN deployment, fixed - waiting release), and milestoned items. Issues are also exempt when labeled bug or needs-author-feedback (the latter is handled by the follow-up workflow). Any comment or update resets the clock.

Feedback flow safeguards: the follow-up re-checks state, label round and author replies right before closing, removes the label only after a successful close (failures retry next run), and reopens if a reply races the close. The reply handler ignores replies older than the latest label, skips bot-authored issues, and never reverses a maintainer's manual close.

Follow-up (not in this PR)

Rename need-author-feedback to needs-author-feedback so existing items are picked up.

Repo-specific

  • Replaces the previous 300-day / 30-day stale.yml; enhancement / documentation / assigned items are no longer exempt.

…ories

- needs-author-feedback.yml / needs-author-feedback-followup.yml: notify the author
  when the label is added, remind at 7 days, close at 14 days, and drop the label
  when the author replies
- stale.yml: 90 days stale + 14 days close for general inactivity (oldest first,
  throttled); PRs inactive 30 days marked abandoned; wontfix/abandoned closed
  after 14+14 days; jobs run sequentially

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@hectorhdzg Hector Hernandez (hectorhdzg) changed the title Align issue/PR auto-close automation with OpenTelemetry distros Align issue and PR auto-close automation across Azure Monitor repositories Oct 21, 2026
- stale.yml: use a single actions/stale invocation. The action persists progress
  under one fixed cache key, so multiple throttled jobs overwrote each other's
  checkpoints. Issues: 90 days stale + 14 close. PRs: 30 days stale + 14 close.
  This replaces the separate abandoned/wontfix jobs, applies one consistent PR
  exemption list, and lets PRs labeled needs-author-feedback close normally.
- needs-author-feedback-followup.yml: skip issues labeled keep, and remove the
  label before closing so an author reply racing the run (label already gone)
  leaves the issue open.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Re-check issue state, labels and author replies right before auto-closing
- Remove needs-author-feedback only after a successful close so failures retry
- Ignore applied markers from an earlier feedback round
- Reopen auto-closed issues when the author replies
- Exempt waiting labels for PRs too

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Skip auto-close if the label was reapplied during the run
- Reopen if the author replied while the issue was being closed
- Reply handler uses current issue state, ignores replies older than the latest label, and only reopens bot closures from the current round

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Read state_reason from the fetched issue (closed events do not expose it)
- Count author replies from the latest label application so answers before a backfilled marker are honored

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

Performance comparison

Threshold for gating regression: -15% (median ops/s)

Scenario Tier Baseline (ops/s) Candidate (ops/s) Δ %
TrackDependencyTest gating 835584.00 817715.20 🔴 -2.14%
TrackTraceTest gating 215654.40 214425.60 🔴 -0.57%
AzureMonitorSpanTest gating 1481318.40 1525555.20 🟢 2.99%
AzureMonitorLogTest gating 233728.00 218477.90 🔴 -6.52%
OtelSpanTest informational 105630.37 119752.38 🟢 13.37%
OtelLogTest informational 776499.20 766003.20 🔴 -1.35%

✅ No gating regression beyond threshold.

baseline: 2026-10-21T23:55:26.022Z (node v22.23.3, 3 samples × 5s)
candidate: 2026-10-21T23:47:36.590Z (node v22.23.3, 3 samples × 5s)

@hectorhdzg
Hector Hernandez (hectorhdzg) merged commit 20e2044 into main Oct 22, 2026
13 checks passed
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.

2 participants