Skip to content

ci: slim apt-get system-lib lists to libhdf5-dev only (and use --yes) - #15157

Merged
cclauss merged 1 commit into
TheAlgorithms:masterfrom
priya-sundaram-dev:ci-slim-apt-lists
Sep 2, 2026
Merged

ci: slim apt-get system-lib lists to libhdf5-dev only (and use --yes)#15157
cclauss merged 1 commit into
TheAlgorithms:masterfrom
priya-sundaram-dev:ci-slim-apt-lists

Conversation

@priya-sundaram-dev

Copy link
Copy Markdown
Contributor

Per @cclauss's suggestion to trim the apt-get install lists in our workflows.

What

  • project_euler.yml (both jobs) and sphinx.yml currently install a long list of -dev system libraries (libtiff/libjpeg/libopenjp2/zlib/freetype/lcms2/webp/tcl/tk/python3-tk/harfbuzz/fribidi/xcb/xml2/xslt/hdf5/openblas). This PR reduces each to libhdf5-dev only.
  • Switches the deprecated -y flag to --yes in all three workflows (build.yml included).

Why it's safe

Those -dev packages existed to build dependencies from source. The project's deps now all ship self-contained manylinux/musllinux wheels:

  • pillow ≥ 11.3, lxml, matplotlib, numpy/scipy — wheels bundle their own image/xml/BLAS libs.
  • h5py 3.16 wheels bundle HDF5.

Nothing in the tree imports h5py directly (only a commented cnn.h5 line), so libhdf5-dev is very likely droppable too — but I kept it for this first step exactly as suggested ("drop all packages except libhdf5-dev and see if tests pass"). If CI is green here, I'll open a tiny follow-up removing libhdf5-dev as well.

Letting CI be the empirical test.

Modern wheels (pillow, lxml, h5py, numpy/scipy, matplotlib) ship
self-contained manylinux/musllinux wheels, so the long lists of -dev
system libraries (libtiff/libjpeg/libopenjp2/freetype/harfbuzz/xml/
xslt/openblas/tk, etc.) are no longer needed to install or import the
project's dependencies. Reduce each apt-get step to libhdf5-dev only
(kept for now as a first step) and switch the deprecated -y flag to
--yes. If CI stays green a follow-up can drop libhdf5-dev too, since
h5py 3.16 ships wheels with a bundled HDF5 and nothing imports h5py
directly.
@algorithms-keeper

Copy link
Copy Markdown

Closing this pull request as invalid

@priya-sundaram-dev, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.

If you're facing any problem on how to mark a checkbox, please read the following instructions:

  • Read a point one at a time and think if it is relevant to the pull request or not.
  • If it is, then mark it by putting a x between the square bracket like so: [x]

NOTE: Only [x] is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.

@algorithms-keeper algorithms-keeper Bot closed this Sep 2, 2026
@algorithms-keeper
algorithms-keeper Bot removed the request for review from cclauss September 2, 2026 08:10
@algorithms-keeper algorithms-keeper Bot added the awaiting reviews This PR is ready to be reviewed label Sep 2, 2026
@cclauss cclauss reopened this Sep 2, 2026
@algorithms-keeper algorithms-keeper Bot added the enhancement This PR modified some existing files label Sep 2, 2026
@priya-sundaram-dev

Copy link
Copy Markdown
Contributor Author

CI is fully green with the lists trimmed to libhdf5-dev only (build, build_docs, project-euler, validate-solutions all pass), so the long -dev lists were indeed legacy build-from-source cruft. Thanks for reopening.

As planned, once this lands I'll send a tiny follow-up dropping libhdf5-dev too — nothing in the tree imports h5py (only a commented cnn.h5), so I expect it's droppable, but I'd rather prove it in its own PR so this known-good change isn't blocked if that one surprises us.

@cclauss
cclauss enabled auto-merge (squash) September 2, 2026 09:35

@cclauss cclauss left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome work as always!

@algorithms-keeper algorithms-keeper Bot removed the awaiting reviews This PR is ready to be reviewed label Sep 2, 2026
@cclauss
cclauss merged commit 974af0d into TheAlgorithms:master Sep 2, 2026
13 checks passed
cclauss pushed a commit that referenced this pull request Sep 2, 2026
Follow-up to #15157. h5py ships self-contained manylinux/musllinux
wheels (aarch64 included) that bundle their own HDF5, so no system
libhdf5 is needed to import or use it. Removing the apt-get step
speeds up CI and removes a network dependency; CI will confirm.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement This PR modified some existing files invalid

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants