Skip to content

Conversation

@Stormheg
Copy link
Member

@Stormheg Stormheg commented Oct 26, 2025

Since f0d64c0, we don't put restrictions on the upper version of Pillow used. This creates a potential where a new release of an incompatible version of Pillow starts impacting all Wagtail users who upgrade their dependencies.

The nightly workflow introduced by this PR should alert us to such a scenario before it happens, by testing against the latest changes in Pillow's main branch before those changes make it into a release. This leaves us with a window to fix incompatibilities (or to report a bug upstream) before Pillow is released.

This PR relies on the assumption that Pillow keeps uploading compatible wheels to https://anaconda.org/scientific-python-nightly-wheels/pillow every Sunday. If that changes, the workflow also includes a check to raise alarm if the wheel is too old.

Example runs from my fork:


Note: this requires setting a SLACK_WEBHOOK_URL secret on the repository to enable the Slack notifications.

Note: the workflow was drafted using ChatGPT and edited by me. I verified it works as intended. This note is here in accordance with https://wagtail.org/blog/guidance-for-ai-led-contributions/

@Stormheg Stormheg requested a review from Copilot October 26, 2025 16:02
Copy link

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

This PR introduces a weekly automated workflow to test Willow against Pillow's nightly builds, providing early detection of compatibility issues before new Pillow releases affect users. The workflow runs every Sunday, 12 hours after Pillow's scheduled nightly builds, and sends Slack notifications when tests fail or when nightly wheels become stale.

Key Changes:

  • Adds a scheduled GitHub Actions workflow that installs Pillow from nightly wheels and runs tests
  • Implements age validation for nightly wheels to detect if upstream publishing has stopped
  • Includes Slack notification system for test failures and stale wheel warnings

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/nightly-test.yml New workflow that tests against Pillow nightly builds weekly, validates wheel freshness, and triggers Slack notifications on failure
.github/report_nightly_build_failure.py Python script that sends formatted Slack messages when nightly tests fail or wheels are too old

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

@Stormheg Stormheg force-pushed the feature/nightly-test-against-willow branch from bc44454 to 524f72a Compare October 26, 2025 16:04
@Stormheg Stormheg requested a review from zerolab November 4, 2025 13:46
@Stormheg Stormheg force-pushed the feature/nightly-test-against-willow branch from 524f72a to ded34ce Compare January 3, 2026 14:33
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.

1 participant