regro / cf-scripts

Flagship repo for cf-regro-autotick-bot
Other
53 stars 75 forks source link

`boost-cpp` missing version updates #1588

Open jakirkham opened 1 year ago

jakirkham commented 1 year ago

Recently a version update for boost 1.81.0 was opened ( https://github.com/conda-forge/boost-feedstock/pull/158 ). However the upstream one for boost-cpp appears to be missing. Since they are handling the URL and version in similar ways. Not sure why one worked and the other didn't.

Note: Some work was attempted to improve this situation. However the issue persists.

sdebionne commented 1 year ago

Before building my own boost-cpp packages for v1.81 (or provide a PR manually written), I would like to ask @conda-forge/core what is the status on this?

beckermr commented 1 year ago

The bot is missing prs because our code for parsing run exports cannot handle build pins.

sdebionne commented 1 year ago

OK, I submitted a PR for boost-cpp version v1.81.

xref: boost-cpp-feedstock!132

beckermr commented 1 year ago

xref: https://github.com/regro/cf-scripts/issues/1560

jakirkham commented 1 year ago

It's odd because the bot didn't have any issues with boost ( https://github.com/conda-forge/boost-feedstock/pull/158 ), which has the same URL. Is there some reason one would work and the other did not?

beckermr commented 1 year ago

Ohhhh nvm. Wrong issue. No idea. Easiest thing is to add a test.

jakirkham commented 1 year ago

Could you please elaborate? How would we test that the bot submits an update PR? Am guessing I'm not understanding something here

jakirkham commented 1 year ago

One difference between boost & boost-cpp is the use of fn in boost, which boost-cpp doesn't use.

Guess the other question is if in boost-cpp trying to set filename confuses the bot when generating the url. Perhaps it would make sense to inline filename to avoid this confusion (even though it would make the url a bit long)?

beckermr commented 1 year ago

We can add a boost-cop recipe to the bot's version test suite and make sure the bot doesn't fail on the recipe.

beckermr commented 1 year ago

I do this a lot when debugging these things.

beckermr commented 1 year ago

See this file: https://github.com/regro/cf-scripts/blob/master/tests/test_version_migrator.py

You need to make two recipe files in the proper dir, one with the recipe before migration and the other after. They have specific names.

Then add the test case to the tests.

jakirkham commented 1 year ago

Thanks for clarifying! That makes more sense 🙏

Maybe let's make boost-cpp less crazy ( https://github.com/conda-forge/boost-cpp-feedstock/pull/133 ) (since it doesn't need to be). If we still have issues after that, we can dive deeper 😉

jakirkham commented 1 year ago

Have added that change in Boost feedstocks. Let's see if the update bot is able to figure things out

jakirkham commented 1 year ago

Just another observation, the bot did submit a boost-cpp update PR for 1.80.0 previously ( https://github.com/conda-forge/boost-cpp-feedstock/pull/126 ). So autoupdates have worked on that feedstock in the past. Nothing significant in the recipe changed since then. So there may be a bot issue here. Going to give it some time to see if the changes already made end up fixing the issue

Though it is worth noting, it looks like we already have a boost-cpp version test

jakirkham commented 1 year ago

Going to reopen until we confirm this is fixed

jakirkham commented 1 year ago

Looks like we got a boost update ( https://github.com/conda-forge/boost-feedstock/pull/161 ). Waiting for boost-cpp...

jakirkham commented 1 year ago

Ok am still not seeing a boost-cpp version update PR. What would the next step be here? AFAICT this is already in the tests

beckermr commented 1 year ago

Wait. We have a huge backlog right now due to this setuptools business.

sdebionne commented 1 year ago

For the records, the update PR for boost-cpp 1.82 did not happen either. It did work for libboost-mpi though (but boost-cpp needs to be build first).

jakirkham commented 1 year ago

This is happening again. Here's 2 Boost PRs:

Though there is no boost-cpp PR

Here's the URL logic for boost-cpp and boost. Included them together in descending order below

# boost-cpp
https://boostorg.jfrog.io/artifactory/main/release/{{ version }}/source/boost_{{ version|replace(".", "_") }}.tar.bz2

# boost
https://boostorg.jfrog.io/artifactory/main/release/{{ version }}/source/boost_{{ version|replace(".", "_") }}.tar.bz2

Am unclear on what is missing. These URLs are identical

What causes the missing autoupdate?

jakirkham commented 1 year ago

For context Matt just tried asking the bot to update the boost-cpp feedstock specifically ( https://github.com/conda-forge/boost-cpp-feedstock/issues/143 ), which did work ( https://github.com/conda-forge/boost-cpp-feedstock/pull/144 ). As noted there ( https://github.com/conda-forge/boost-cpp-feedstock/pull/144#issuecomment-1675482772 ):

Well the bot can process the version, so the next question is why it didn't find it.

h-vetinari commented 1 year ago

By the way, it should be trivial to point to the Github tarball, which plays much better with our automation.

jakirkham commented 1 year ago

As noted above, don't think the issue is the URL as boost uses the exact same URL and has reliably gotten updates for some time. For whatever reason boost-cpp doesn't get these updates, which suggests the cause is something other than the URL (like that node in the graph is not checked for some reason)

h-vetinari commented 1 year ago

For whatever reason boost-cpp doesn't get these updates

That too will become irrelevant once things are unified in the boost-feedstock

jakirkham commented 1 year ago

It appears the bot did eventually open the 1.83.0 update for boost-cpp: https://github.com/conda-forge/boost-cpp-feedstock/pull/147

Interestingly this seems to be accompanied with a few migrator PRs:

Wonder what caused these all at once?

Edit: Nvm. There was a typo in the branch name that was recently fixed ( https://github.com/conda-forge/boost-cpp-feedstock/commit/f6b34b392599fe6aa4ef48a679a90d289e5f646e )