Skip to content

Deduplicate Slack CI notifications with artifact-based state tracking#63676

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:smart-slack-notifications
Mar 15, 2026
Merged

Deduplicate Slack CI notifications with artifact-based state tracking#63676
potiuk merged 1 commit into
apache:mainfrom
potiuk:smart-slack-notifications

Conversation

@potiuk

@potiuk potiuk commented Mar 15, 2026

Copy link
Copy Markdown
Member

Slack notifications for CI failures and missing doc inventories were posted on every
failing run regardless of whether the failure was already reported. This adds per-branch
state tracking via GitHub Actions artifacts so notifications are only sent when the set
of failures changes or 24 hours pass (as a "still not fixed" reminder). Green recovery
notifications are posted when a previously-failing run passes.

Changes:

  • New scripts/ci/slack_notification_state.py — shared state management script that
    downloads previous state from artifacts, compares with current failures, and outputs
    one of: notify_new, notify_reminder, notify_recovery, or skip
  • ci-image-checks.yml — inventory notifications now stateful with 3 message types
    (new, reminder, recovery) and deep-linked to the specific docs build job
  • ci-amd-arm.ymlnotify-slack-failurenotify-slack, runs on both success
    and failure (for recovery), includes failing job names in messages
  • ci-notification.yml — external branch monitoring now stateful with 3 message types
  • workflow_status.py — extended to output run ID and failing job names

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Opus 4.6 (1M context)

Generated-by: Claude Opus 4.6 (1M context) following the guidelines

@jscheffl jscheffl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cool

@potiuk potiuk force-pushed the smart-slack-notifications branch from c0ff3ef to 348e37f Compare March 15, 2026 22:16
Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
@potiuk potiuk force-pushed the smart-slack-notifications branch from 348e37f to 66d0fe1 Compare March 15, 2026 22:38
@potiuk potiuk merged commit 60e4393 into apache:main Mar 15, 2026
8 checks passed
@potiuk potiuk deleted the smart-slack-notifications branch March 15, 2026 22:38
@github-actions

Copy link
Copy Markdown
Contributor

Backport failed to create: v3-1-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-1-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 60e4393 v3-1-test

This should apply the commit to the v3-1-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

potiuk added a commit to potiuk/airflow that referenced this pull request Mar 15, 2026
…ate tracking (apache#63676)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
(cherry picked from commit 60e4393)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
potiuk added a commit to potiuk/airflow that referenced this pull request Mar 15, 2026
…ate tracking (apache#63676)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
(cherry picked from commit 60e4393)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
potiuk added a commit that referenced this pull request Mar 15, 2026
…ate tracking (#63676) (#63686)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
(cherry picked from commit 60e4393)
fat-catTW pushed a commit to fat-catTW/airflow that referenced this pull request Mar 22, 2026
…apache#63676)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
vatsrahul1001 pushed a commit that referenced this pull request Mar 25, 2026
…ate tracking (#63676) (#63686)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
(cherry picked from commit 60e4393)
abhijeets25012-tech pushed a commit to abhijeets25012-tech/airflow that referenced this pull request Apr 9, 2026
…apache#63676)

Slack notifications for CI failures and missing doc inventories were
posted on every failing run regardless of whether the failure was
already reported. This adds per-branch state tracking via GitHub
Actions artifacts so notifications are only sent when the set of
failures changes or 24 hours pass (as a "still not fixed" reminder).
Recovery notifications are posted when a previously-failing run passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants