From f48dad123aaf7f9df115b46e19b757b3e09fe491 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 6 Jan 2025 11:21:52 +0000
Subject: [PATCH 1/2] Update dependency setuptools to v75.7.0 (#2241)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
 dependencies-dev | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies-dev b/dependencies-dev
index ef24c42d3c..5132b2502e 100644
--- a/dependencies-dev
+++ b/dependencies-dev
@@ -4,4 +4,4 @@ numpy==2.0.1 ; python_version <= '3.9'
 numpy==2.2.1 ; python_version > '3.9'
 pybind11==2.13.6
 cmake==3.31.2
-setuptools==75.6.0
+setuptools==75.7.0

From e9816c236ed296bf2da1e0a32dc426b8396909b8 Mon Sep 17 00:00:00 2001
From: Ian Faust <icfaust@gmail.com>
Date: Tue, 7 Jan 2025 11:25:40 +0100
Subject: [PATCH 2/2] [CI] split conda recipes and linting to separate files in
 azure pipelines (#2238)

* move functionality to separate yamls

* add endlines

* Update linting.yml

* Update _forest.py

* Revert "Update _forest.py"

This reverts commit a227d5ae9f116cd216f8066f43eba4988d841fff.

* Update linting.yml

* Update linting.yml

* Update linting.yml

* Update _forest.py

* Update _forest.py
---
 .ci/pipeline/ci.yml               | 44 +++----------------------------
 .ci/pipeline/conda-recipe-lnx.yml | 29 ++++++++++++++++++++
 .ci/pipeline/conda-recipe-win.yml | 30 +++++++++++++++++++++
 .ci/pipeline/linting.yml          | 21 +++++++++++++++
 4 files changed, 83 insertions(+), 41 deletions(-)
 create mode 100644 .ci/pipeline/conda-recipe-lnx.yml
 create mode 100644 .ci/pipeline/conda-recipe-win.yml
 create mode 100644 .ci/pipeline/linting.yml

diff --git a/.ci/pipeline/ci.yml b/.ci/pipeline/ci.yml
index 2472054108..3e761c79bc 100644
--- a/.ci/pipeline/ci.yml
+++ b/.ci/pipeline/ci.yml
@@ -48,20 +48,7 @@ jobs:
   pool:
     vmImage: 'ubuntu-22.04'
   steps:
-  - script: |
-      echo "##vso[task.setvariable variable=ISORT_VERSION]$(grep -zoP '(?<=isort\n    rev: ).*' .pre-commit-config.yaml)"
-      echo "##vso[task.setvariable variable=BLACK_VERSION]$(grep -zoP '(?<=black\n    rev: ).*' .pre-commit-config.yaml)"
-      echo "##vso[task.setvariable variable=PYTHON_LINT_VERSION]$(grep -oP -m 1 '(?<=python).*' .pre-commit-config.yaml)"
-    displayName: 'Collect lint versions'
-  - task: UsePythonVersion@0
-    inputs:
-      versionSpec: $(PYTHON_LINT_VERSION)
-      addToPath: true
-  - script: |
-      python -m pip install --upgrade pip setuptools
-      pip install isort==${ISORT_VERSION} black[jupyter]==${BLACK_VERSION}
-      isort --profile black --check . && black --check .
-    displayName: 'Linting'
+  - template: linting.yml
 - job: LinuxCondaRecipe
   dependsOn: Lint
   timeoutInMinutes: 120
@@ -73,19 +60,7 @@ jobs:
   pool:
     vmImage: 'ubuntu-22.04'
   steps:
-  - script: |
-      conda config --add channels conda-forge
-      conda config --set channel_priority strict
-      conda update -y -q --all
-    displayName: "Conda update"
-  - script: |
-      conda create -y -q -n build-env conda-build conda-verify
-    displayName: "Conda create"
-  - script: |
-      . /usr/share/miniconda/etc/profile.d/conda.sh
-      conda activate build-env
-      conda build . --python $(PYTHON_VERSION) --numpy $(NUMPY_VERSION)
-    displayName: "Conda build and test"
+  - template: conda-recipe-lnx.yml
 - job: WindowsCondaRecipe
   dependsOn: Lint
   timeoutInMinutes: 120
@@ -97,20 +72,7 @@ jobs:
   pool:
     vmImage: 'windows-2022'
   steps:
-  - powershell: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
-    displayName: Add conda to PATH
-  - script: |
-      conda config --add channels conda-forge
-      conda config --set channel_priority strict
-      conda update -y -q --all
-    displayName: "Conda update"
-  - script: |
-      conda create -y -q -n build-env conda-build conda-verify
-    displayName: "Conda create"
-  - script: |
-      call activate build-env
-      conda build . --python $(PYTHON_VERSION) --numpy $(NUMPY_VERSION)
-    displayName: "Conda build and test"
+  - template: conda-recipe-win.yml
 - job: LinuxCondaEnv
   dependsOn: Lint
   timeoutInMinutes: 120
diff --git a/.ci/pipeline/conda-recipe-lnx.yml b/.ci/pipeline/conda-recipe-lnx.yml
new file mode 100644
index 0000000000..e272f4439f
--- /dev/null
+++ b/.ci/pipeline/conda-recipe-lnx.yml
@@ -0,0 +1,29 @@
+#===============================================================================
+# Copyright contributors to the oneDAL project
+#
+# 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.
+#===============================================================================
+steps:
+  - script: |
+      conda config --add channels conda-forge
+      conda config --set channel_priority strict
+      conda update -y -q --all
+    displayName: "Conda update"
+  - script: |
+      conda create -y -q -n build-env conda-build conda-verify
+    displayName: "Conda create"
+  - script: |
+      . /usr/share/miniconda/etc/profile.d/conda.sh
+      conda activate build-env
+      conda build . --python $(PYTHON_VERSION) --numpy $(NUMPY_VERSION)
+    displayName: "Conda build and test"
diff --git a/.ci/pipeline/conda-recipe-win.yml b/.ci/pipeline/conda-recipe-win.yml
new file mode 100644
index 0000000000..6abeaa4309
--- /dev/null
+++ b/.ci/pipeline/conda-recipe-win.yml
@@ -0,0 +1,30 @@
+#===============================================================================
+# Copyright contributors to the oneDAL project
+#
+# 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.
+#===============================================================================
+steps:
+  - powershell: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
+    displayName: Add conda to PATH
+  - script: |
+      conda config --add channels conda-forge
+      conda config --set channel_priority strict
+      conda update -y -q --all
+    displayName: "Conda update"
+  - script: |
+      conda create -y -q -n build-env conda-build conda-verify
+    displayName: "Conda create"
+  - script: |
+      call activate build-env
+      conda build . --python $(PYTHON_VERSION) --numpy $(NUMPY_VERSION)
+    displayName: "Conda build and test"
diff --git a/.ci/pipeline/linting.yml b/.ci/pipeline/linting.yml
new file mode 100644
index 0000000000..f303f7f9db
--- /dev/null
+++ b/.ci/pipeline/linting.yml
@@ -0,0 +1,21 @@
+#===============================================================================
+# Copyright contributors to the oneDAL project
+#
+# 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.
+#===============================================================================
+steps:
+  - script: |
+      python -m pip install --upgrade pip pre-commit==4.0.1
+      pre-commit install
+      pre-commit run --all-files --show-diff-on-failure
+    displayName: 'Linting'