Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CI Update main lock-file with ccache-related work-around - #34763

Merged
lesteve merged 13 commits into
scikit-learn:mainfrom
betatim:fix-ccache-docs-build
Aug 20, 2026
Merged

CI Update main lock-file with ccache-related work-around#34763
lesteve merged 13 commits into
scikit-learn:mainfrom
betatim:fix-ccache-docs-build

Conversation

@betatim

@betatim betatim commented Aug 17, 2026

Copy link
Copy Markdown
Member

Reference Issues/PRs

Fixes #34761

What does this implement/fix? Explain your changes.

It looks like we were relying on ccache being part of the docker image we get from Circle CI. We now explicitly install it.

Edit: it use meson built-in detection of ccache to avoid a weird issue that CC and CXX are not defined, maybe a miniconda/conda bug, that I (@lesteve) is not interested in investigating right now.

web-flow and others added 3 commits August 17, 2026 05:22
We were relying on it being part of the docker image but it is no longer
part of it.
`ccache` is now installed in the conda environment so we don't need to
modiFY PATH anymore.
@betatim betatim changed the title Update CI lock files [doc build] CI Add ccache to the docs build dependencies Aug 17, 2026
@betatim

betatim commented Aug 17, 2026

Copy link
Copy Markdown
Member Author

cc @AnneBeyer - let's see if this solves it

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

From the log you can see that ccache is automatically detected by meson (as it should, but it's good to have the confirmation):

  C compiler for the host machine: /usr/bin/ccache cc (gcc 15.2.0 "cc (conda-forge gcc 15.2.0-20) 15.2.0")
  C linker for the host machine: cc ld.bfd 2.46.1
  C++ compiler for the host machine: /usr/bin/ccache c++ (gcc 15.2.0 "c++ (conda-forge gcc 15.2.0-20) 15.2.0")
  C++ linker for the host machine: c++ ld.bfd 2.46.1
  Cython compiler for the host machine: cython (cython 3.2.5)

I think it's worth leaving the -v for the pip install command to have this kind of info.

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

Oh well, it looks like OpenML is not having a good day, see HTTP 503 errors in the build log and then the build goes over the 1 hour limit? Let's trigger it again and see what happens.

@betatim

betatim commented Aug 18, 2026

Copy link
Copy Markdown
Member Author

I thought we cache the datasets from OpenML? Does the cache work like "let me check if we have the file locally, yes we do, no need to make any network requests" or "let me get information over the network, then check for the file locally, ok we have it"?

(Maybe talking about caching is a side quest for a new issue?)

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

Maybe cloning https://github.com/lesteve/scikit_learn_data in ~/scikit_learn_data is the simplest thing to see if this PR works? Not 100% sure whether the cache is up-to-date but it may help.

We do have cache but it's not shared with main because security reasons (cache poisoning amongst other things I guess).

Right now, it looks like it doesn't exist for this PR maybe because there was no successful CI run yet?
image

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

Also, if the OpenML problem persists, checking what is broken exactly and report it to OpenML would be nice

@betatim

betatim commented Aug 18, 2026

Copy link
Copy Markdown
Member Author

We do have cache but it's not shared with main because security reasons (cache poisoning amongst other things I guess).

I had assumed that a PR can read the cache from main, but when you write to the cache it is the PR's personal cache.

I've pondered using a GitHub repo (or S3 bucket or ...) to host datasets. But, do we want to get ourselves into the business of hosting them? Because if it is too easy to use and works too well, the rest of the internet will start using it as well :-/ And suddenly we have to maintain something that was just an optimisation.

The repo uses git-lfs and there is a limit to how much LFS "bandwidth"
we can use
@lesteve
lesteve force-pushed the fix-ccache-docs-build branch from cf05ca2 to 95c0d6d Compare August 18, 2026 13:33
@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

Just to be clear, this was meant as a temporary thing, not a long-term "solution". I pushed an empty commit with [doc build] to see whether the full doc build works.

If it does, then I guess we can revert the temporary ~/scikit_learn_cache tweak and merge this (with a commit without [doc build] in it 😉)

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

FWIW message from the OpenML Slack today at 14:47 Paris time:

Hi everyone, we are aware that the REST API has been experiencing availability issues over the last days. We are actively investigating. Thanks for your understanding.

@lesteve

lesteve commented Aug 18, 2026

Copy link
Copy Markdown
Member

It doesn't seem like the ~/scikit_learn_data work-around works or maybe it's missing a few OpenML datasets, there are still HTTP 503, see build log.

@lesteve

lesteve commented Aug 19, 2026

Copy link
Copy Markdown
Member

The full doc build worked fine in previous commit 0ba91b6, I removed the temporary work-around of fetching the cache (which didn't seem to be working).

Also from a Slack message, OpenML said that it should be back to normal more or less so I guess we may be alright.

In my last commit f001475, I only kept the relevant fixes i.e.:

  • do not set export CC=ccache CC (and similar CXX) which is not needed. meson automatically detect ccache.
  • keep pip install -v to have more information (always useful)

If the full doc build works, I think we can merge this.

@lesteve lesteve changed the title CI Add ccache to the docs build dependencies CI Rely on meson auto-detection of ccache Aug 19, 2026
@lesteve lesteve changed the title CI Rely on meson auto-detection of ccache CI Rely on meson auto-detection of ccache in doc build Aug 19, 2026
@lesteve

lesteve commented Aug 20, 2026

Copy link
Copy Markdown
Member

Another hang after 6 hours in https://github.com/scikit-learn/scikit-learn/actions/runs/32278077227/job/96204883572?pr=34763. I restarted the build.

Last output is a apt-get update 🤷 (similar to the other one I bumped into IIRC)

+ sudo apt-get update
Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [144 B]
Get:6 https://packages.microsoft.com/repos/azure-cli noble InRelease [3564 B]
Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B]
Get:8 https://packages.microsoft.com/repos/azure-cli noble/main amd64 Packages [2452 B]
Get:9 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B]
Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [317 kB]
Get:11 https://packages.microsoft.com/ubuntu/24.04/prod noble/main armhf Packages [12.4 kB]
Get:12 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [360 kB]
Get:13 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1419 B]
Ign:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease
Hit:2 https://archive.ubuntu.com/ubuntu noble InRelease
Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Ign:14 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
Ign:15 http://azure.archive.ubuntu.com/ubuntu noble-updates/main Translation-en
Ign:16 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components
Ign:17 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages
Ign:18 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe Translation-en
Ign:19 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components
Ign:20 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages
Ign:21 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en
Ign:22 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en
Ign:23 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components
Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]

@lesteve lesteve changed the title CI Rely on meson auto-detection of ccache in doc build CI Update main lock-file with ccache-related work-around Aug 20, 2026
@lesteve
lesteve merged commit 1be3c64 into scikit-learn:main Aug 20, 2026
69 of 73 checks passed
@lesteve

lesteve commented Aug 20, 2026

Copy link
Copy Markdown
Member

The full doc build passed, let's merge this one, thanks for having a look at this @betatim!

@betatim
betatim deleted the fix-ccache-docs-build branch August 20, 2026 09:54
prady0t pushed a commit to prady0t/scikit-learn that referenced this pull request Sep 2, 2026
@jeremiedbb jeremiedbb mentioned this pull request Sep 8, 2026
14 tasks
jeremiedbb pushed a commit to jeremiedbb/scikit-learn that referenced this pull request Sep 8, 2026
jeremiedbb pushed a commit to jeremiedbb/scikit-learn that referenced this pull request Sep 9, 2026
jeremiedbb pushed a commit to jeremiedbb/scikit-learn that referenced this pull request Sep 9, 2026
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