Skip to content

Commit

Permalink
Merge branch 'main' into kerl/cpp20
Browse files Browse the repository at this point in the history
  • Loading branch information
johnkerl committed Nov 20, 2024
2 parents ab4c6f5 + fd059f0 commit d08fae6
Show file tree
Hide file tree
Showing 12 changed files with 81 additions and 128 deletions.
8 changes: 2 additions & 6 deletions .azure-pipelines/azure-pipelines-linux.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ c_stdlib:
c_stdlib_version:
- '2.17'
cdt_name:
- cos7
- conda
channel_sources:
- conda-forge,tiledb
channel_targets:
Expand All @@ -21,19 +21,17 @@ docker_image:
fmt:
- '11'
numpy:
- '1.22'
- '1.23'
- '1.26'
- '1.22'
- '2.0'
- '2.0'
- '2.0'
- '2.0'
pin_run_as_build:
python:
min_pin: x.x
max_pin: x.x
r-base:
min_pin: x.x
max_pin: x.x
pyarrow:
- '17'
python:
- 3.10.* *_cpython
- 3.11.* *_cpython
Expand All @@ -50,11 +48,5 @@ tiledb:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
- - c_stdlib_version
- cdt_name
- - channel_sources
- fmt
- spdlog
- pyarrow
- - python
- numpy
60 changes: 0 additions & 60 deletions .ci_support/linux_64_fmt9spdlog1.11.yaml

This file was deleted.

8 changes: 8 additions & 0 deletions .ci_support/migrations/fmt11.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
__migrator:
build_number: 1
commit_message: Rebuild for fmt 11
kind: version
migration_number: 1
fmt:
- '11'
migrator_ts: 1720374637.828791
47 changes: 47 additions & 0 deletions .ci_support/migrations/numpy2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
__migrator:
build_number: 1
kind: version
commit_message: |
Rebuild for numpy 2.0
TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot
PR has updated the recipe to account for the changes (see below for details).
The biggest change is that we no longer need to use the oldest available numpy
version at build time in order to support old numpy version at runtime - numpy
will by default use a compatible ABI for the oldest still-supported numpy versions.
Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a
run requirement - this has been handled for more than two years now by a
run-export on the numpy package itself. The migrator will therefore remove
any occurrences of this.
However, by default, building against numpy 2.0 will assume that the package
is compatible with numpy 2.0, which is not necessarily the case. You should
check that the upstream package explicitly supports numpy 2.0, otherwise you
need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy
issue 26191 for an overview of the most important packages).
### To-Dos:
* [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility)
* If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`.
* If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases.
* If upstream requires a minimum numpy version newer than 1.19, you can add `numpy >=x.y` under `run:`.
* [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed.
PS. If the build does not compile anymore, this is almost certainly a sign that
the upstream project is not yet ready for numpy 2.0; do not close this PR until
a version compatible with numpy 2.0 has been released upstream and on this
feedstock (in the meantime, you can keep the bot from reopening this PR in
case of git conflicts by marking it as a draft).
migration_number: 1

# needs to match length of zip {python, python_impl, numpy}
# as it is in global CBC in order to override it
numpy:
- 1.22 # no py38 support for numpy 2.0
- 2.0
- 2.0
- 2.0
- 2.0
migrator_ts: 1713572489.295986
8 changes: 8 additions & 0 deletions .ci_support/migrations/spdlog114.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
__migrator:
build_number: 1
commit_message: Rebuild for spdlog 1.14
kind: version
migration_number: 1
migrator_ts: 1722204008.301365
spdlog:
- '1.14'
8 changes: 4 additions & 4 deletions .ci_support/osx_64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ fmt:
macos_machine:
- x86_64-apple-darwin13.4.0
numpy:
- '1.22'
- '1.23'
- '1.26'
- '1.22'
- '2.0'
- '2.0'
- '2.0'
- '2.0'
pin_run_as_build:
python:
min_pin: x.x
Expand Down
8 changes: 4 additions & 4 deletions .ci_support/osx_arm64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ fmt:
macos_machine:
- arm64-apple-darwin20.0.0
numpy:
- '1.22'
- '1.23'
- '1.26'
- '1.22'
- '2.0'
- '2.0'
- '2.0'
- '2.0'
pin_run_as_build:
python:
min_pin: x.x
Expand Down
11 changes: 2 additions & 9 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion conda-forge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ build_platform:
osx_arm64: osx_64
conda_forge_output_validation: false
test: native_and_emulated
# build_with_mambabuild: false
upload_on_branch: main
azure:
build_id: 43
Expand Down
27 changes: 0 additions & 27 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,8 @@ MACOSX_SDK_VERSION: # [osx and x86_64]
c_stdlib_version: # [osx and x86_64]
- 11.0 # [osx and x86_64]
channel_sources:
- tiledb/label/for-cloud,conda-forge,tiledb # [linux]
- conda-forge,tiledb
channel_targets:
- tiledb main
channel_priority:
- strict
# conda-forge has migrated to newer versions of fmt and spdlog. We need fmt 9 to
# install into our existing TileDB Cloud conda environments, so we build a
# special variant of fmt 9 and spdlog 1.11. And because this can no longer solve
# with conda-forge depedencies, we install the "for-cloud" tiledb binary from
# tiledb/label/for-cloud
fmt: # [linux]
- 9 # [linux]
- 11 # [linux]
spdlog: # [linux]
- 1.11 # [linux]
- 1.14 # [linux]
pyarrow: # [linux]
- 11 # [linux]
- 17 # [linux]
zip_keys: # [linux]
- channel_sources # [linux]
- fmt # [linux]
- spdlog # [linux]
- pyarrow # [linux]
# Because of the awkwardness required for the cloud variant above
# (fmt9+spdlog1.11), we also have to manually pin fmt/spdlog for the osx-*
# builds
fmt: # [not linux]
- 11 # [not linux]
spdlog: # [not linux]
- 1.14 # [not linux]
5 changes: 1 addition & 4 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ source:
# # hoping to be 1.15.0rc3 <-- FILL IN HERE

build:
number: 0
number: 1
skip: true # [win or linux32 or py2k]
# Important: set this back to 0 on a new release

Expand Down Expand Up @@ -68,8 +68,6 @@ outputs:
- name: tiledbsoma-py
version: {{ version }}
script: build-tiledbsoma-py.sh
build:
skip: true # [py == 312]
requirements:
build:
- {{ compiler('cxx') }}
Expand All @@ -93,7 +91,6 @@ outputs:
- numpy
- pyarrow
run:
- {{ pin_compatible('numpy', lower_bound='1.16', upper_bound='1.27') }}
- {{ pin_subpackage('libtiledbsoma', exact=True) }}
- pandas
- pyarrow
Expand Down

0 comments on commit d08fae6

Please sign in to comment.