conda-forge / google-cloud-cpp-feedstock

A conda-smithy repository for google-cloud-cpp.
BSD 3-Clause "New" or "Revised" License
2 stars 10 forks source link

[bot-automerge] google-cloud-cpp v2.26.0 #179

Closed regro-cf-autotick-bot closed 4 days ago

regro-cf-autotick-bot commented 6 days ago

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with code>@conda-forge-admin,</codeplease add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
google-cloud-cpp-core 2.26.0 Anaconda-Server Badge
google-cloud-cpp 2.26.0 Anaconda-Server Badge

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found by source code inspection but not in the meta.yaml:

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by - please use this URL for debugging.

conda-forge-webservices[bot] commented 6 days ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

github-actions[bot] commented 6 days ago

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

Thus the PR was not passing and not merged.

coryan commented 5 days ago

@h-vetinari I could use some hints here. The Linux + aarch64 builds are failing in the same spot. It is not a timeout, maybe a VM crash? Or a compiler ICE? Or we exhaust all the memory in the VM? Any thoughts on how to troubleshoot this?

h-vetinari commented 5 days ago

Yeah, it's quite probably an OOM issue. You can try to reduce parallelism in the build script, or try adding something like

azure:
  settings_linux:
    swapfile_size: 10GiB

in conda-forge.yml and then rerender.

github-actions[bot] commented 5 days ago

Hi! This is the friendly conda-forge automerge bot!

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

coryan commented 5 days ago

@conda-forge-admin please rerender

github-actions[bot] commented 5 days ago

Hi! This is the friendly conda-forge automerge bot!

It appears that not all commits to this PR were made by the bot. Thus this PR is not being automatically merged. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

h-vetinari commented 5 days ago

Not sure what's going on with the gtest detection. The metadata is definitely available under

lib/cmake/GTest/GTestConfig.cmake
lib/cmake/GTest/GTestConfigVersion.cmake
lib/cmake/GTest/GTestTargets-release.cmake
lib/cmake/GTest/GTestTargets.cmake

in the PREFIX. Do we need to point the CMake module path there, or is there a find_package(GTest) missing somewhere?

coryan commented 4 days ago

I think it is a bug in google-cloud-cpp. This code:

https://github.com/googleapis/google-cloud-cpp/blob/b5026cc636b32fa045c1b6868e94151dffbdd061/cmake/GoogleCloudCppLibrary.cmake#L350-L352

Assumes BUILD_TESTING is defined and GMock is found via:

https://github.com/googleapis/google-cloud-cpp/blob/b5026cc636b32fa045c1b6868e94151dffbdd061/CMakeLists.txt#L241-L244

@dbolduc we need to figure out how to fix this upstream, why it was missed in our testing, and then probably add a patch to get this release pushed through conda.

coryan commented 4 days ago

We already test with BUILD_TESTING=OFF:

https://github.com/googleapis/google-cloud-cpp/blob/bc27e8f4624488eeeaaea773e3dcecc8bd3e37eb/ci/cloudbuild/builds/cmake-split-install.sh#L35

I still believe the conda build is doing the right thing, and it should complain about the missing dependency. I do not know why our tests do not catch that. The only hypothesis I have, is the different CMake version (3.28 vs. 3.30 in conda). I looked at the releases notes and only this seems remotely plausible:

https://cmake.org/cmake/help/latest/prop_tgt/TRANSITIVE_LINK_PROPERTIES.html#prop_tgt:TRANSITIVE_LINK_PROPERTIES

coryan commented 4 days ago

I tested locally with CMake 3.30, that repros the problem. So now we know why our tests do not caught anything.

coryan commented 4 days ago

Ugh, looks like the CMake feedstock upgraded around 17 hours ago:

https://anaconda.org/conda-forge/cmake/files

That explains why the google-cloud-cpp-*-feedstock upgrade PRs went through, and this one now fails. Oh, and that explains the transient failure with GTest::* targets:

https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=967552&view=logs&j=08cb96d4-21c0-51d3-4318-2db961bdb87d

Attempt #4 fails with the GTest::* thing, while attempt #3 fails much later with the unknown problem (though OOM seems likely).

coryan commented 4 days ago

We have fixed this upstream: https://github.com/googleapis/google-cloud-cpp/pull/14433

Hopefully I converted this into a proper patch. It seems to unblock the builds, but it will be a couple of hours until we know if the Linux + AARCH64 build is also fixed :sad trombone:. We are heading into a long weekend here to celebrate our ~declaration of war against King George~ declaration of independence. We may not be able to make much progress until Monday.

coryan commented 4 days ago

@h-vetinari looks like everything and the tests pass. Given all the little tweaks, I am asking @h-vetinari or @xhochy to please take a look and make sure the changes look sound.

Separately, I think we need to apply these patches to the other google-cloud-cpp*-feedstock recipes.

h-vetinari commented 4 days ago

Great that you managed to figure this one out! I had been wondering as well why it had been passing before; issues like this are why I've "subsribed" to changes in the cmake feedstock, just to have newly release versions in mind as a potential culprit when stuff breaks.

Separately, I think we need to apply these patches to the other google-cloud-cpp*-feedstock recipes.

If we're lucky, you don't have to rebuild the other feedstocks until 2.27, and then you won't be hit by this. Needless to say, another approach would have been a temporary cmake <3.30 cap.

h-vetinari commented 4 days ago

PS. Enjoy the July 4th celebrations!