-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Description
GitHub Actions is transitioning to a new runner image based on Ubuntu 24.04. When this image is used, the testsuite fails because there are issues with the Wand / ImageMagick integration. Expand the details below to see a full copy of the test log from GitHub Actions.
All our previous runs were using the Ubuntu 22.04 runner which had no issues.
Image: ubuntu-24.04
Version: 20250105.1.0
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20250105.1/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20250105.1
Run coverage run --parallel-mode -m runtests
/opt/hostedtoolcache/Python/3.10.16/x64/lib/python3.10/site-packages/coverage/core.py:70: CoverageWarning: sys.monitoring isn't available, using default core (no-sysmon)
warn("sys.monitoring isn't available, using default core", slug="no-sysmon")
...............................................................................................................x............x..................................xx........x........................................E...x....x...EE..F.......
======================================================================
ERROR: test_save_as_avif (tests.test_wand.TestWandOperations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/Willow/Willow/tests/test_wand.py", line 310, in test_save_as_avif
return_value = self.image.save_as_avif(output)
File "/home/runner/work/Willow/Willow/willow/plugins/wand.py", line 274, in save_as_avif
converted.save(file=f)
File "/opt/hostedtoolcache/Python/3.10.16/x64/lib/python3.10/site-packages/wand/image.py", line 10202, in save
file.write(self.make_blob())
TypeError: a bytes-like object is required, not 'NoneType'
======================================================================
ERROR: test_save_avif_lossless (tests.test_wand.TestWandOperations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/Willow/Willow/tests/test_wand.py", line 327, in test_save_avif_lossless
lossless_file = self.image.save_as_avif(io.BytesIO(), lossless=True)
File "/home/runner/work/Willow/Willow/willow/plugins/wand.py", line 274, in save_as_avif
converted.save(file=f)
File "/opt/hostedtoolcache/Python/3.10.16/x64/lib/python3.10/site-packages/wand/image.py", line 10202, in save
file.write(self.make_blob())
TypeError: a bytes-like object is required, not 'NoneType'
======================================================================
ERROR: test_save_avif_quality (tests.test_wand.TestWandOperations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/Willow/Willow/tests/test_wand.py", line 319, in test_save_avif_quality
high_quality = self.image.save_as_avif(io.BytesIO(), quality=90)
File "/home/runner/work/Willow/Willow/willow/plugins/wand.py", line 274, in save_as_avif
converted.save(file=f)
File "/opt/hostedtoolcache/Python/3.10.16/x64/lib/python3.10/site-packages/wand/image.py", line 10202, in save
file.write(self.make_blob())
TypeError: a bytes-like object is required, not 'NoneType'
======================================================================
FAIL: test_save_webp_quality (tests.test_wand.TestWandOperations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/Willow/Willow/tests/test_wand.py", line 380, in test_save_webp_quality
self.assertTrue(low_quality.f.tell() < high_quality.f.tell())
AssertionError: False is not true
We must figure out what difference is causing the issue so we can adopt the Ubuntu 24.04 image. I already know the 24.04 image does not have ImageMagick installed by default, but apt install imagemagick
results in the testsuite failure above.
Fortunately, the folks at GitHub have quite good documentation about what's installed in their images. Might be helpful.
- Ubuntu 24.04: https://github.com/actions/runner-images/blob/ubuntu24/20250126.1/images/ubuntu/Ubuntu2404-Readme.md
- Ubuntu 22.04: https://github.com/actions/runner-images/blob/ubuntu22/20250126.1/images/ubuntu/Ubuntu2204-Readme.md
See also #160
Metadata
Metadata
Assignees
Labels
No labels