rapids-cmake icon indicating copy to clipboard operation
rapids-cmake copied to clipboard

WIP: Bump `fmt` (to 10.2.1) and `spdlog` (to 1.13), remove patches

Open jameslamb opened this issue 1 year ago • 0 comments

Description

Contributes to:

  • https://github.com/rapidsai/build-planning/issues/54
  • https://github.com/rapidsai/build-planning/issues/56
  • #387

Makes the following direct changes to cpm/versions.json

  • bumps fmt (10.1.1 -> 10.2.1), removes patches
  • bumps spdlog (1.12.0 -> 1.13.0), removes patches

Which led to the following supporting changes:

  • modifies pinning tests from #530:
    • to only test projects that were downloaded by CPM (e.g. ignoring the fmt that already exists in the build environment)
    • to echo out pinned_versions.json and versions.json in logs from failed tests, to make debugging faster

Notes for Reviewers

Just opening this to test. Will fill this out more when it's ready for review.

Related:

  • https://github.com/gabime/spdlog/pull/2846
  • https://github.com/rapidsai/rmm/pull/1101

How I tested this

Pushed a commit with the new test error message content changes but keeping fmt in the failing tests, to confirm that the expected tests failed.

got the expected outputs (click me)
The following tests FAILED:
	698 - cpm_generate_pins-nested-makefile (Failed)
	700 - cpm_generate_pins-nested-ninja (Failed)
	702 - cpm_generate_pins-nested-ninja_multi-config (Failed)
	722 - cpm_generate_pins-simple-makefile (Failed)
	724 - cpm_generate_pins-simple-ninja (Failed)
	726 - cpm_generate_pins-simple-ninja_multi-config (Failed)

And they failed in the expected way more informative logs!

CMake Error at CMakeLists.txt:51 (message):
  pinned fmt tag (10.2.1) should differ compared to baseline 10.2.1

  pinned_versions.json:

  {

    "always_download" : true,
    "git_shallow" : false,
    "git_tag" : "${version}",
    "git_url" : "https://github.com/fmtlib/fmt.git",
    "version" : "10.2.1"

  }

  versions.json:

  {

    "git_tag" : "${version}",
    "git_url" : "https://github.com/fmtlib/fmt.git",
    "version" : "10.2.1"

  }

(build link)

Opened PRs on a few repos, pointed at this rapids-cmake branch using the approach described in the rapids-cmake docs (link).

I also modified each of those PRs so that their conda builds and tests consumed CI artifacts from the other PRs. Following this example: https://github.com/rapidsai/cuml/pull/5640.

  • rmm (https://github.com/rapidsai/rmm/pull/1544)
  • cudf (https://github.com/rapidsai/cudf/pull/15603)
    • just the conda devcontainers build failing, because it couldn't find the conda packages from rmm's CI
  • ⚠️ raft (https://github.com/rapidsai/raft/pull/2279)
    • builds all passing, CUDA 12.x conda tests failing with a possibly-unrelated issue: https://github.com/rapidsai/raft/pull/2279#issuecomment-2082915870
  • cuml (https://github.com/rapidsai/cuml/pull/5870)

Checklist

  • [x] I am familiar with the Contributing Guidelines.
  • [x] New or existing tests cover these changes.
  • [x] The documentation is up to date with these changes.
  • [x] The cmake-format.json is up to date with these changes.
  • [ ] I have added new files under rapids-cmake/
    • [ ] I have added include guards (include_guard(GLOBAL))
    • [ ] I have added the associated docs/ rst file and update the api.rst

jameslamb avatar Apr 24 '24 17:04 jameslamb