Need a help with the built-bots (original) (raw)

I recently submitted a pull request that added the ml_dtypes library to the mlir/python/requirements.txt file. The PR can pass the build test of PreCommit CI, but after merge, the build bots failed, leading to a reversion of the PR. Could someone assist me in installing the ml_dtypes library in the build-bot environments?

This will need to be done by the owners of the buildbot machines.

You can find the owner’s email by looking at a build page (for example Buildbot) and then opening the “Worker” tab and the owner’s email will be listed as “admin”.

In that specific case @mehdi_amini is already aware of this judging by the pull request comments.

I would go through all the failure emails you got and identify the other buildbot owners from there.

Could you be more specific, please? What workers are missing the dependency you are trying to introduce? All of MLIR bots? Some of them?

It was more than month ago, so, unfortunately, the links in the PR discussion are outdated.

In general, one would run RFC to discuss a new dependency to make sure all the stakeholders are agree with the proposed change. Then one follows up with all the owners of affected buildbot workers to make sure they are updated accordingly. Then the patch which adds the dependency could be committed.

In your case, I’d suggest making the new dependency optional. I.e. everything could work as is, skipping the new feature if the dependency is missing. This is python, right? You could do try:imort-except on the library in question and keep the status quo if it is missing, new tests unsupported and such. You tried to do so, but looks like not all the way through. Then you could follow up with the bot owners on installing the new dependency not having it on the critical path for your patch in the mainline.

This was asked in another place as well, and I wrote that I would update the docker image for the bot. Unfortunately that fell off my radar: I’ll try to get to it ASAP.

hi, the problem here is the test case part, I tried to use try...except in the test case, but the FileCheck part in the comments cannot be skipped, which will cause a failure

Bot owners are already helping you (thanks, David, Mehdi!). So, just to follow the “how to make a feature optional” thread.

You need to express the dependency for that test. This could be done, for example, by using REQUIRES: <feature> in your test and properly configuring the “feature” in `lit.cfg’.

Please see LLVM Testing Infrastructure Guide — LLVM 19.0.0git documentation for more details.

thank you for your advice. I tried REQUIRES: <feature>, but I found that it will skip the whole tests in the file, and I did not find a way to skip a single test case of the test file.

What’s wrong with a separate file for a test with different dependencies?

I upgraded the bot, you’re good to go!

Sorry for the delay but adding the latest ml_dtypes required some more recent version for other dependencies, which led me to a rabbit hole of upgrading the entire OS (Now on Ubuntu 22.04) and the CUDA Toolkit (now 12.5), but I got stuck for a while with some driver management on Google Cloud VMs.

that’s great! thanks a lot!