Skip to content

Fix issue oncall schedule expiry - #58871

Closed
cortinico wants to merge 1 commit into
mainfrom
agentcloud/fix-issue-oncall-schedule-expiry
Closed

cortinico wants to merge 1 commit into
mainfrom
agentcloud/fix-issue-oncall-schedule-expiry

Conversation

@cortinico

@cortinico cortinico commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

The scheduled Monitor React Native New Issues workflow fails in Extract next oncall because extractIssueOncalls.js requires an exact dated entry and the ONCALL_SCHEDULE secret has no entry for the active Tuesday.

Live evidence:

The exact-date lookup was introduced in 890b8f7ea3378685f7d6d9612ff584fc9ed17df0. The outage itself was triggered by the schedule crossing its final configured date, not by a new January commit, so a code bisection cannot isolate a later introducing commit.

This change treats each dated rotation as effective until the next dated entry, which keeps issue monitoring alive when schedule maintenance is late. It writes a warning to stderr whenever it carries a rotation forward, so the stale configuration remains visible. Dates before the first configured entry still fail clearly.

Risk / limitation: until the secret is refreshed, the last configured pair remains on call. That is preferable to the current complete notification outage, but schedule owners should still update the secret.

Changelog:

[INTERNAL] [FIXED] - Keep issue monitoring running when the on-call schedule reaches its final dated entry.

Test Plan:

  • npx --yes jest@29.7.0 --runInBand --config '{"testEnvironment":"node","rootDir":"/tmp/react-native-ci-monitor/repo","transform":{}}' .github/workflow-scripts/__tests__/extractIssueOncalls-test.js — 9/9 tests passed, including the new expired-schedule regression case.
  • npx --yes prettier@3.9.4 --check .github/workflow-scripts/extractIssueOncalls.js .github/workflow-scripts/__tests__/extractIssueOncalls-test.js — passed.
  • node --check on both changed files — passed.
  • git diff --check — passed.
  • Monitor React Native New Issues workflow-dispatch run on this branch — passed end to end: https://github.com/react/react-native/actions/runs/37396984698. The real secret took the carry-forward path, emitted the expected warning, and completed Monitor New Issues successfully.

A full workspace install was not run locally because the sparse diagnostic checkout cannot resolve unpublished 0.87.0-main workspace packages from npm; GitHub PR CI will exercise the repository-wide checks.

2026-10-18 CI monitor update

Revalidated against current main SHA 27e77216ef2557ccbf31a01067a44dc1dd2ec846.

  • Complete exact-SHA inventory: 421 terminal checks (278 success, 137 skipped, 6 failure); no queued, running, cancelled, or timed-out checks.
  • All six failures are scheduled Monitor React Native New Issues runs. Their logs have the same deterministic TypeError: Cannot read properties of undefined (reading '0') at extractIssueOncalls.js:23, including the latest run: https://github.com/react/react-native/actions/runs/39126927293
  • No other open PR matches this root cause.
  • The patch applies cleanly to the current default-branch head.
  • Fresh validation: focused Jest suite 9/9 passed; Prettier, node --check on both changed files, and git diff --check passed.
  • Direct reproduction with an exhausted schedule fails on current main and succeeds with this patch by carrying forward the final configured rotation while emitting a warning.

The introducing code remains commit 890b8f7ea3378685f7d6d9612ff584fc9ed17df0; the outage starts only when the finite secret-backed schedule crosses its last configured date, so there is no later code commit to bisect.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 6, 2026
@facebook-github-tools facebook-github-tools Bot added p: Facebook Partner: Facebook Partner labels Oct 6, 2026
@cortinico
cortinico requested a review from cipolleschi October 6, 2026 01:00
@cortinico

Copy link
Copy Markdown
Contributor Author

Superseded by #59499. We are retiring the new-issue Discord monitor entirely, so its on-call schedule no longer needs a fix.

@cortinico cortinico closed this Oct 26, 2026
meta-codesync Bot pushed a commit that referenced this pull request Oct 26, 2026
Summary:
Retire the scheduled "Monitor React Native New Issues" workflow. It polls for new GitHub issues every six hours and posts notifications to Discord, mentioning two rotating on-call users. The user has decided to stop this monitoring entirely, so remove the workflow together with its dedicated on-call parser and tests.

User-visible effect: the workflow will no longer post new-issue notifications to Discord or ping the on-call users. GitHub issues themselves are unaffected. This supersedes #58871, which attempted to repair the expired on-call schedule.

## Changelog:
[INTERNAL] [REMOVED] - Retire the new-issue Discord notification workflow.

Pull Request resolved: #59499

Test Plan:
- `git diff --check` — passed.
- Searched .github, scripts, and packages for references to the workflow, ONCALL_SCHEDULE, and extractIssueOncalls — none remain.
- `yarn test .github/workflow-scripts/__tests__ --runInBand` — 12 suites passed (73 tests); 2 unrelated visual suites could not start because the local checkout lacks the `pngjs` dependency. No dependency install was performed because yarn install changes the working tree.
- GitHub Actions should confirm the deleted workflow does not run on the PR; no UI changes.

Reviewed By: christophpurrer

Differential Revision: D127584085

Pulled By: cortinico

fbshipit-source-id: 44b786c0f042aa955a840f90814a5f08ccee656c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant