Files
langflow/.github/workflows
Eric Hare d416a9c6b7 ci: fit weekly test-durations refresh inside the 6h limit and alert on failure (#13586)
* ci: fit weekly test-durations refresh inside the 6h limit and alert on failure

The serial full-suite run no longer fits the 6h job limit; every weekly
run since mid-2025 was cancelled at exactly 6h, so .test_durations
silently froze and the 5 CI test groups drifted out of balance (the
recurring "Group 3 times out at 99%" nightly failures).

- Measure durations as a 5-group matrix (same pytest-split groups,
  same xdist and test selection as make unit_tests), ~45-60 min per
  group instead of >6h serial. Each group stores only its own tests'
  durations (clean-durations); a merge job unions the disjoint group
  files and sanity-checks coverage before committing anything.
- Add job-level timeouts everywhere and a Slack alert job
  (LANGFLOW_ENG_SLACK_WEBHOOK_URL, same channel as nightly_build) so a
  silent freeze cannot recur unnoticed.
- Label the auto-PR skip-nightly-check: the required CI Success check
  previously failed on these PRs whenever the nightly was red, which is
  why none of them (#6225..#8669) ever merged.
- Dispatch ci.yml on the PR branch after creation: PRs created with the
  default GITHUB_TOKEN never trigger pull_request workflows, so the
  required checks otherwise never run. workflow_dispatch is exempt from
  that restriction and from the nightly gate. Optionally supports a
  DURATIONS_PR_TOKEN PAT for fully native triggering.
- Request review/assign so the PR gets attention instead of rotting.
- Commit only .test_durations (add-paths) and drop the unused
  ASTRA/OPENAI api_key_required test env (CI never runs those tests).

* ci: paginate the stale-durations-PR close step

pulls.list returns one page (30) and the repo has hundreds of open PRs,
so months-old stale durations PRs never appeared in the results — that
is how #6225..#8669 accumulated unclosed even while the workflow still
ran. Paginate and additionally match on the update-test-durations head
branch prefix.

* chore: update test durations (#13587)

Co-authored-by: erichare <700235+erichare@users.noreply.github.com>

* ci: fail the Slack alert step on webhook HTTP errors

Without --fail-with-body, curl exits 0 on a Slack 4xx/5xx (e.g. a
rotated webhook), leaving the alert job green while no alert was sent.

* ci: address durations workflow review questions

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: erichare <700235+erichare@users.noreply.github.com>
2026-06-12 19:49:43 +00:00
..
2026-04-21 16:18:16 -04:00