TileDB-Inc / tiledbsoma-feedstock

A conda-smithy repository for tiledbsoma.
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Nightly feedstock build failed #170

Closed github-actions[bot] closed 3 months ago

github-actions[bot] commented 3 months ago

Nightly feedstock build failure for tiledbsoma-feedstock at https://dev.azure.com/TileDB-Inc/CI/_build?definitionId=43&_a=summary

johnkerl commented 3 months ago

Looks like a recurrence of https://github.com/single-cell-data/TileDB-SOMA/pull/2609/files ... 👀

johnkerl commented 3 months ago

PR coming up! :)

johnkerl commented 3 months ago

Failure from the Azure build log (for the benefit of those lacking access):

[ 60%] Building CXX object src/CMakeFiles/TILEDB_SOMA_OBJECTS.dir/soma/column_buffer.cc.o
[ 65%] Building CXX object src/CMakeFiles/TILEDB_SOMA_OBJECTS.dir/utils/arrow_adapter.cc.o
In file included from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/spdlog/fmt/fmt.h:32,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/spdlog/common.h:50,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/spdlog/spdlog.h:12,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/work/libtiledbsoma/src/utils/../utils/logger.h:54,
                 from /home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/work/libtiledbsoma/src/utils/arrow_adapter.cc:35:
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = tiledb_datatype_t; typename std::enable_if<PACKED, int>::type <anonymous> = 0]':
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h:1842:51:   required from 'constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char*, tiledb_datatype_t, const char*}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {const char*, tiledb_datatype_t, const char*}]'
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h:1860:18:   required from 'constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = basic_format_context<appender, char>; T = {const char*, tiledb_datatype_t, const char*}]'
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h:2835:44:   required from 'std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const char*&, tiledb_datatype_t&, const char*&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const char*&, tiledb_datatype_t&, const char*&>]'
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/work/libtiledbsoma/src/utils/arrow_adapter.cc:566:38:   required from here
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h:1600:63: error: 'fmt::v10::detail::type_is_unformattable_for<tiledb_datatype_t, char> _' has incomplete type
 1600 |     type_is_unformattable_for<T, typename Context::char_type> _;
      |                                                               ^
/home/conda/feedstock_root/build_artifacts/tiledbsoma_1718156992756/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/fmt/core.h:1604:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1604 |       formattable,
      |       ^~~~~~~~~~~

This is line 566 of arrow_adapter.cc; recurrence of https://github.com/single-cell-data/TileDB-SOMA/pull/2609.

Odd thing is these compile just fine in our CI, but fail in the nightlies ...

johnkerl commented 3 months ago

@jdblischak:

Can you advise on a manual-run procedure?

jdblischak commented 3 months ago

waiting until tonight for it to run

You don't have to wait until tonight. The nightly feedstock build has a manual trigger

https://github.com/TileDB-Inc/tiledbsoma-feedstock/blob/a44ad933e5fea433a2810f3a716a7868d9984bff/.github/workflows/nightly.yml#L13

So you can go to https://github.com/TileDB-Inc/tiledbsoma-feedstock/actions/workflows/nightly.yml and manually trigger a run at any time. It will push to the branch "nightly-build", where you can monitor the job.

Unfortunately it only builds from the "main" branch of TileDB-SOMA, so you would have to merge your PR first.

johnkerl commented 3 months ago

@johnkerl closed this as completed 1 minute ago

Big nope, GitHub -- I merged a PR and you auto-closed this -- re-opening until I (a human) validate this per https://github.com/single-cell-data/TileDB-SOMA/pull/2718#issuecomment-2163421691

johnkerl commented 3 months ago

@jdblischak I'm confused -- the entirety of https://github.com/TileDB-Inc/tiledbsoma-feedstock/actions/runs/9485993041/job/26139272758 completed (☘️ , which seems good) in one minute fifty-three seconds which I can't believe included a full recompile and unit-test run ... 👀

jdblischak commented 3 months ago

GitHub Actions only triggers the nightly. It pushes to the branch "nightly-build"

Now it's failing due to a solver error related to libgoogle-cloud-storage, which I also just ran into in tiledb-vcf-feedstock

jdblischak commented 3 months ago

Almost certainly caused by the migration to libgoogle-cloud to 2.25 that was started 10 hours ago by https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/6029

Looking at the status of the migration, it's been applied to arrow-cpp-feedstock, but the PR to tiledb-feedstock is still pending

image

johnkerl commented 3 months ago

OK cool thanks @jdblischak -- I'll watch the tiledb PR and retry my test 🙏

jdblischak commented 3 months ago

I manually applied the migration to libgoogle-cloud 2.25 (https://github.com/conda-forge/tiledb-feedstock/pull/297). The binaries should be available for tonight's nightly feedstock build.

Since we already discussed and fixed two separate problems in this Issue thread, I am going to close it. If there are additional unresolved problems in tonight's nightly, we can start troubleshooting them in a new Issue tomorrow.

johnkerl commented 3 months ago

Good plan, thanks @jdblischak !!!

jdblischak commented 3 months ago

Ack. I just realized I only migrated tiledb 2.24, which will unblock SOMA 1.12.0 (https://github.com/TileDB-Inc/tiledbsoma-feedstock/pull/171). But if that isn't merged today, the nightlies will still fail if they use tiledb 2.23