From bed21c2563820d3298537f37f57135a6057b1673 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 19 Sep 2023 14:21:25 -0500 Subject: [PATCH 1/6] Update to clang 16.0.6. (#459) This PR updates rapids-cmake to use clang 16.0.6. The previous version 16.0.1 has some minor formatting issues affecting several RAPIDS repos. Authors: - Bradley Dice (https://github.com/bdice) Approvers: None URL: https://github.com/rapidsai/rapids-cmake/pull/459 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 96462e88..8369d5dc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: ) - id: check-json - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v16.0.1 + rev: v16.0.6 hooks: - id: clang-format types_or: [c, c++, cuda] From 591117c062ee2167b817820d3b0c85d6ce065743 Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Wed, 20 Sep 2023 08:29:20 -0400 Subject: [PATCH 2/6] cpm overrides don't occur when `CPM__SOURCE` exists (#458) Since the rapids-cmake cpm overrides hook into fetch content they previously would take priority over `CPM__SOURCE`. Now we don't add overrides when `CPM__SOURCE` exists. Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/rapids-cmake/pull/458 --- rapids-cmake/cpm/package_override.cmake | 12 +++- testing/cpm/CMakeLists.txt | 1 + ...package_override-obey-cpm-source-var.cmake | 64 +++++++++++++++++++ 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 testing/cpm/cpm_package_override-obey-cpm-source-var.cmake diff --git a/rapids-cmake/cpm/package_override.cmake b/rapids-cmake/cpm/package_override.cmake index a70dd728..2cf87ec5 100644 --- a/rapids-cmake/cpm/package_override.cmake +++ b/rapids-cmake/cpm/package_override.cmake @@ -49,12 +49,18 @@ projects. .. note:: + .. versionadded:: v23.10.00 + + When the variable `CPM__SOURCE` exists, any override entries + for `package_name` will be ignored. + + +.. note:: If the override file doesn't specify a value or package entry the default version will be used. Must be called before any invocation of :cmake:command:`rapids_cpm_find`. - #]=======================================================================] function(rapids_cpm_package_override filepath) list(APPEND CMAKE_MESSAGE_CONTEXT "rapids.cpm.rapids_cpm_package_override") @@ -74,10 +80,10 @@ function(rapids_cpm_package_override filepath) # cmake-lint: disable=E1120 foreach(index RANGE ${package_count}) string(JSON package_name MEMBER "${json_data}" packages ${index}) - string(JSON data GET "${json_data}" packages "${package_name}") get_property(override_exists GLOBAL PROPERTY rapids_cpm_${package_name}_override_json DEFINED) - if(NOT override_exists) + if(NOT (override_exists OR DEFINED CPM_${package_name}_SOURCE)) # only add the first override for a project we encounter + string(JSON data GET "${json_data}" packages "${package_name}") set_property(GLOBAL PROPERTY rapids_cpm_${package_name}_override_json "${data}") set_property(GLOBAL PROPERTY rapids_cpm_${package_name}_override_json_file "${filepath}") endif() diff --git a/testing/cpm/CMakeLists.txt b/testing/cpm/CMakeLists.txt index b8e66ac1..c570d5c1 100644 --- a/testing/cpm/CMakeLists.txt +++ b/testing/cpm/CMakeLists.txt @@ -34,6 +34,7 @@ add_cmake_config_test( cpm_package_override-bad-path.cmake SHOULD_FAIL "rapids_c add_cmake_config_test( cpm_package_override-before-init.cmake ) add_cmake_config_test( cpm_package_override-empty.cmake ) add_cmake_config_test( cpm_package_override-multiple.cmake ) +add_cmake_config_test( cpm_package_override-obey-cpm-source-var.cmake ) add_cmake_config_test( cpm_package_override-patches.cmake ) add_cmake_config_test( cpm_package_override-simple.cmake ) diff --git a/testing/cpm/cpm_package_override-obey-cpm-source-var.cmake b/testing/cpm/cpm_package_override-obey-cpm-source-var.cmake new file mode 100644 index 00000000..ab10e855 --- /dev/null +++ b/testing/cpm/cpm_package_override-obey-cpm-source-var.cmake @@ -0,0 +1,64 @@ +#============================================================================= +# Copyright (c) 2021-2023, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#============================================================================= +include(${rapids-cmake-dir}/cpm/init.cmake) +include(${rapids-cmake-dir}/cpm/package_override.cmake) + +rapids_cpm_init() + +# Need to write out an override file +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/override.json + [=[ +{ + "packages" : { + "rmm" : { + "git_url" : "new_rmm_url", + "git_shallow" : "OFF", + "exclude_from_all" : "ON" + }, + "not_in_base" : { + "git_url" : "new_rmm_url", + "git_shallow" : "OFF", + "exclude_from_all" : "ON" + } + } +} + ]=]) + +set(CPM_rmm_SOURCE "${CMAKE_CURRENT_BINARY_DIR}") +set(CPM_not_in_base_SOURCE "${CMAKE_CURRENT_BINARY_DIR}") +rapids_cpm_package_override(${CMAKE_CURRENT_BINARY_DIR}/override.json) + +# Verify that the override doesn't exist due to `CPM_rmm_SOURCE` +include("${rapids-cmake-dir}/cpm/detail/package_details.cmake") + +rapids_cpm_package_details(rmm version repository tag shallow exclude) +if(repository MATCHES "new_rmm_url") + message(FATAL_ERROR "custom url field should not be set, due to CPM_rmm_SOURCE") +endif() +if(shallow MATCHES "OFF") + message(FATAL_ERROR "shallow field should not be set, due to CPM_rmm_SOURCE") +endif() +if(CPM_DOWNLOAD_ALL) + message(FATAL_ERROR "CPM_DOWNLOAD_ALL should not be set, due to CPM_rmm_SOURCE") +endif() + +unset(version) +unset(repository) +unset(tag) +rapids_cpm_package_details(not_in_base version repository tag shallow exclude) +if(version OR repository OR tag) + message(FATAL_ERROR "rapids_cpm_package_details should not return anything for package that doesn't exist") +endif() From d34d98944c99fa170f266a4df7eafb7ed32adf9f Mon Sep 17 00:00:00 2001 From: Paul Taylor <178183+trxcllnt@users.noreply.github.com> Date: Thu, 21 Sep 2023 05:39:53 -0700 Subject: [PATCH 3/6] Update to CPM v0.38.5 (#460) Update to CPM [v0.38.5](https://github.com/cpm-cmake/CPM.cmake/releases/tag/v0.38.5). Authors: - Paul Taylor (https://github.com/trxcllnt) Approvers: - Robert Maynard (https://github.com/robertmaynard) URL: https://github.com/rapidsai/rapids-cmake/pull/460 --- rapids-cmake/cpm/detail/download.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rapids-cmake/cpm/detail/download.cmake b/rapids-cmake/cpm/detail/download.cmake index a1ca4119..1f67704d 100644 --- a/rapids-cmake/cpm/detail/download.cmake +++ b/rapids-cmake/cpm/detail/download.cmake @@ -42,8 +42,8 @@ function(rapids_cpm_download) list(APPEND CMAKE_MESSAGE_CONTEXT "rapids.cpm.download") # When changing version verify no new variables needs to be propagated - set(CPM_DOWNLOAD_VERSION 0.35.6) - set(CPM_DOWNLOAD_MD5_HASH c15cd4b7f511bc625c92ee6580821726) + set(CPM_DOWNLOAD_VERSION 0.38.5) + set(CPM_DOWNLOAD_MD5_HASH c98d14a13dfd1952e115979c095f6794) if(CPM_SOURCE_CACHE) # Expand relative path. This is important if the provided path contains a tilde (~) From 94fe5e06c34ab07a1fd71559d5a3d22c4b76a84f Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Thu, 21 Sep 2023 09:07:28 -0400 Subject: [PATCH 4/6] Move rapids_cpm_package_override to CPM section of docs (#462) Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/rapids-cmake/pull/462 --- docs/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api.rst b/docs/api.rst index 6612f609..a2779df6 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -33,6 +33,7 @@ tracking of these dependencies for correct export support. /command/rapids_cpm_init /command/rapids_cpm_find + /command/rapids_cpm_package_override CPM Pre-Configured Packages *************************** @@ -57,7 +58,6 @@ package uses :ref:`can be found here. ` /packages/rapids_cpm_rmm /packages/rapids_cpm_spdlog /packages/rapids_cpm_thrust - /command/rapids_cpm_package_override .. _`cython`: From 59328e33347325f78f8358f86932c21b0d1c6f8b Mon Sep 17 00:00:00 2001 From: Jake Awe <50372925+AyodeAwe@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:53:03 -0500 Subject: [PATCH 5/6] Update image names (#461) PR updates `rapidsai/ci` references to `rapidsai/ci-conda` Authors: - Jake Awe (https://github.com/AyodeAwe) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) URL: https://github.com/rapidsai/rapids-cmake/pull/461 --- .github/workflows/build.yaml | 2 +- .github/workflows/pr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5971444b..619c06c6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -51,7 +51,7 @@ jobs: arch: "amd64" branch: ${{ inputs.branch }} build_type: ${{ inputs.build_type || 'branch' }} - container_image: "rapidsai/ci:latest" + container_image: "rapidsai/ci-conda:latest" date: ${{ inputs.date }} node_type: "cpu4" run_script: "ci/build_docs.sh" diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d4979eb4..99d0220e 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -41,5 +41,5 @@ jobs: build_type: pull-request node_type: "cpu4" arch: "amd64" - container_image: "rapidsai/ci:latest" + container_image: "rapidsai/ci-conda:latest" run_script: "ci/build_docs.sh" From c6746ecf073348b192ac0cc754dc8d3b7b5de7a9 Mon Sep 17 00:00:00 2001 From: Ray Douglass Date: Fri, 22 Sep 2023 09:45:41 -0400 Subject: [PATCH 6/6] v23.12 Updates [skip ci] --- .github/workflows/build.yaml | 6 +++--- .github/workflows/pr.yaml | 10 +++++----- .github/workflows/test.yaml | 2 +- RAPIDS.cmake | 2 +- ci/build_docs.sh | 2 +- docs/basics.rst | 4 ++-- docs/conf.py | 4 ++-- rapids-cmake/rapids-version.cmake | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 619c06c6..f807b91d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -37,7 +37,7 @@ jobs: upload-conda: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -46,7 +46,7 @@ jobs: docs-build: if: github.ref_type == 'branch' secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: arch: "amd64" branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 99d0220e..8105141c 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -17,26 +17,26 @@ jobs: - conda-cpp-tests - docs-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.12 checks: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.12 conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: pull-request conda-cpp-tests: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: pull-request docs-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: build_type: pull-request node_type: "cpu4" diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 38b565a4..6c02a92f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: cpp-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/RAPIDS.cmake b/RAPIDS.cmake index 78bcab75..157075f3 100644 --- a/RAPIDS.cmake +++ b/RAPIDS.cmake @@ -20,7 +20,7 @@ # Allow users to control which version is used if(NOT rapids-cmake-version) # Define a default version if the user doesn't set one - set(rapids-cmake-version 23.10) + set(rapids-cmake-version 23.12) endif() # Allow users to control which GitHub repo is fetched diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 892adbfb..531f7e72 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -16,7 +16,7 @@ conda activate docs rapids-print-env -export RAPIDS_VERSION_NUMBER="23.10" +export RAPIDS_VERSION_NUMBER="23.12" export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build Sphinx docs" diff --git a/docs/basics.rst b/docs/basics.rst index 8cd89afd..7927c17b 100644 --- a/docs/basics.rst +++ b/docs/basics.rst @@ -13,7 +13,7 @@ Content `_ into yo cmake_minimum_required(...) if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/_RAPIDS.cmake) - file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake + file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake ${CMAKE_CURRENT_BINARY_DIR}/_RAPIDS.cmake) endif() include(${CMAKE_CURRENT_BINARY_DIR}/_RAPIDS.cmake) @@ -58,7 +58,7 @@ like this: GIT_REPOSITORY https://github.com//rapids-cmake.git GIT_TAG ) - file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake + file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake ${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake) include(${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake) diff --git a/docs/conf.py b/docs/conf.py index fc0db2d0..c02b749c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,9 +25,9 @@ # built documents. # # The short X.Y version. -version = "23.10" +version = "23.12" # The full version, including alpha/beta/rc tags. -release = "23.10.00" +release = "23.12.00" # -- General configuration --------------------------------------------------- diff --git a/rapids-cmake/rapids-version.cmake b/rapids-cmake/rapids-version.cmake index 6d114d83..94024b14 100644 --- a/rapids-cmake/rapids-version.cmake +++ b/rapids-cmake/rapids-version.cmake @@ -17,5 +17,5 @@ # that breaks its usage by cpm/detail/package_details if(NOT DEFINED rapids-cmake-version) - set(rapids-cmake-version 23.10) + set(rapids-cmake-version 23.12) endif()