-
Notifications
You must be signed in to change notification settings - Fork 36
Scikit-build-core build system rework #1988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
109 commits
Select commit
Hold shift + click to select a range
678f50d
Initial rework into scikit-build-core
dudoslav 7c20a47
Add auto downloading of TileDB
dudoslav 6f8c182
Add TILEDB_PATH env variable
dudoslav b5d8bce
Remove debug project name
dudoslav bc166f7
Add testing build-wheels ci
dudoslav f3ec205
Add cxx_standard to 20
dudoslav 51723fd
Fix incorrect flag set
dudoslav cff8080
Enable CI/CD tests
dudoslav 042f320
Fix pytest command
dudoslav 5fa6f72
Run tests in tests folder
dudoslav 76da30d
Clean up code
dudoslav 210a75e
Remove __init__.py for tests
dudoslav f73dcb8
Add test requirements
dudoslav a456a6d
Remove libtiledb logic
dudoslav cac2204
Disable python 39
dudoslav 4e145ba
Improve pyproject.toml
dudoslav 0b429c4
Rework basic CI workflow
dudoslav 8ed0840
Install testing dependencies in CI
dudoslav 7156bdc
Remove unused CI/CD files
dudoslav 982d1e5
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
dudoslav dfb32b8
Fix format
dudoslav e160a89
Use only one version on numpy
dudoslav 56f7b76
Also enable python 3.9
dudoslav 7e7099f
Fix test issue with incorrect slashes in Win
dudoslav 7f1c3cd
Increment cibuildwheel version
dudoslav 9c13ff8
Fix syntax error
dudoslav 09ac7d6
Format code
dudoslav 2c1699e
Convert Path to str before search
dudoslav c9f5b73
Build arm macos wheels on macos-14
dudoslav b2f8f14
Add basic CI/CD
dudoslav 2b4e5d2
Install test dependencies
dudoslav a1f8578
Fix docs
dudoslav 78a09d9
Use macos-13 in ci workflow
dudoslav 666458e
Try out importlib
dudoslav bc12c26
Fix toml error
dudoslav 39ef85a
Return __init__.py fix
dudoslav aa17c85
Improve ci
dudoslav 113cc03
Add sdist tests
dudoslav 97e8ff9
Update job dependencies
dudoslav 1be328a
Fix windows pip install command
dudoslav d434cf3
Pull sources for tests
dudoslav d8ae95b
Only checkout tests
dudoslav c95606e
Sdist tests install pytest and deps
dudoslav 6456ad5
Disable cone mode add debug
dudoslav 294bc1e
Checkout whole repo for tests
dudoslav 6cdc40f
Run sdist tests
dudoslav 27a3855
Add logging info to cmake
dudoslav 83f439f
Add verbose to install
dudoslav 2c4e236
Add additional logs
dudoslav c4275f6
Fix macos incorrect processor
dudoslav 9901082
Remove cmake logs
dudoslav b787fda
Improve artefact naming
dudoslav 80a8d18
Add daily tests
dudoslav 9dcfd3a
Add logging and no-deps
dudoslav 9bd795e
Add no-build-isolation
dudoslav 3dd210a
Remove no-deps
dudoslav 7eaa19a
Change numpy version using sed
dudoslav 707da3b
Fix sed command
dudoslav 2dd5f4a
Macos has sed without -i
dudoslav 320c02c
Fix sed
dudoslav c62733a
Macos sed fix
dudoslav ce4a643
Properly set RPATH
dudoslav 4007cff
Install numpy version before running tests
dudoslav 1e4f1b2
Fix CI/CD yaml syntax error
dudoslav fd5e092
Fix typo
dudoslav 1d2186e
Fix more typos
dudoslav 6bc5a88
Fix syntax error
dudoslav 7c191e9
TILEDB_VERSION comment out in CI/CD
dudoslav e5ec06e
Disable macos arm ci tests
dudoslav fb02c74
Fix Windows CI/CD pipeline
dudoslav d2c5d63
Add macos-14-xlarge runner
dudoslav 77411c8
Disable macos-14 tests again
dudoslav 5564bb2
Try decreased fragment size
dudoslav 2d2fd2d
Comment out macos-14
dudoslav d55e185
Update to 2.24
ihnorton c257933
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
ihnorton 5907bab
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
ihnorton 5216cbd
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
dudoslav eb1f75c
Build wheels for python 3.8 as well
dudoslav eca4e86
CI always upload working folder as artifact
dudoslav 42563d6
Pipx run build for specific python
dudoslav e18e6ec
Increment actions/checkout version to v4
dudoslav 896eb10
Add common test requirements
dudoslav 367dbe9
Return local-build.sh
dudoslav 5af5085
Remove requirements.txt and add them into pyproject.toml
dudoslav bbf270e
Fix use of env variables, allow use of TILEDB_VERSION
dudoslav 98ec8cd
Return daily tests
dudoslav e51cacf
Fix readthedocs ci
dudoslav 01cf151
Fix numpy pipeline
dudoslav 6cbd959
Fix CI
dudoslav 7147fdc
Fix CI
dudoslav d18fecc
Fix CI
dudoslav edfd02b
Add debug info to CI
dudoslav ec2897c
Use TILEDB_VERSION
dudoslav e2e6e29
Remove debug info
dudoslav 952f4fc
Remove 'dev' CI
dudoslav 655a008
Allow users to pass TILEDB release hash
dudoslav 7fb14bb
Package all files, add debug info remove stripping
dudoslav 7e4aee7
Fix numpy daily test
dudoslav 8b2ada7
Add multiple licenses
dudoslav 3e03d2f
Add external licenses
dudoslav 986196d
Add project license
dudoslav ab447d8
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
dudoslav 711ba45
Always include download tiledb in wheel
dudoslav de47a7e
Remove doc and ci folders from wheel
dudoslav fb3d692
Remove BUILD_STATE check
dudoslav f621881
Add extra logging
dudoslav d18362b
Merge remote-tracking branch 'origin/dev' into db/scikit-build-core
dudoslav f705ef2
Remove debug info and stripping
dudoslav File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
name: Build and test wheels | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- release-* | ||
- "*wheel*" # must quote since "*" is a YAML reserved character; we want a string | ||
tags: | ||
- "*" | ||
pull_request: | ||
branches: | ||
- "*wheel*" # must quote since "*" is a YAML reserved character; we want a string | ||
|
||
jobs: | ||
build_wheels: | ||
name: Wheel ${{ matrix.buildplat[0] }}-${{ matrix.buildplat[1] }}-${{ matrix.python }} | ||
runs-on: ${{ matrix.buildplat[0] }} | ||
strategy: | ||
matrix: | ||
buildplat: | ||
- [ubuntu-22.04, manylinux_x86_64] | ||
- [macos-13, macosx_x86_64] | ||
- [macos-14, macosx_arm64] | ||
- [windows-2022, win_amd64] | ||
python: ["cp38", "cp39", "cp310", "cp311", "cp312"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: "Brew setup on macOS" # x-ref c8e49ba8f8b9ce | ||
if: ${{ startsWith(matrix.os, 'macos-') == true }} | ||
run: | | ||
set -e pipefail | ||
brew update | ||
brew install automake pkg-config ninja llvm | ||
|
||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD_VERBOSITY: 3 | ||
CIBW_ENVIRONMENT_MACOS: > | ||
CC=clang | ||
CXX=clang++ | ||
MACOSX_DEPLOYMENT_TARGET: "11.0" | ||
CIBW_ARCHS: all | ||
CIBW_PRERELEASE_PYTHONS: True | ||
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} | ||
# __init__.py interferes with the tests and is included as local file instead of | ||
# used from wheels. To be honest, tests should not be in the source folder at all. | ||
CIBW_BEFORE_TEST: rm {project}/tiledb/__init__.py | ||
with: | ||
output-dir: wheelhouse | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: cibw-wheels-${{ matrix.buildplat[1] }}-${{ strategy.job-index }} | ||
path: "./wheelhouse/*.whl" | ||
|
||
build_sdist: | ||
name: Build source distribution | ||
runs-on: ubuntu-latest | ||
outputs: | ||
sdist_name: ${{ steps.get_sdist_name.outputs.sdist_name }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build sdist | ||
run: pipx run build --sdist | ||
|
||
- name: Get sdist package name | ||
id: get_sdist_name | ||
run: | | ||
echo "sdist_name=$(ls dist/ | head -n 1)" >> "$GITHUB_OUTPUT" | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: sdist | ||
path: dist/*.tar.gz | ||
|
||
test_sdist: | ||
dudoslav marked this conversation as resolved.
Show resolved
Hide resolved
|
||
name: Test source distribution package | ||
needs: [build_sdist] | ||
strategy: | ||
matrix: | ||
os: | ||
- macos-13 | ||
- macos-14 | ||
- windows-2022 | ||
- ubuntu-22.04 | ||
python: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Set up Python ${{ matrix.python }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python }} | ||
|
||
- name: Download sdist artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: sdist | ||
path: dist | ||
|
||
- name: Install sdist artifact | ||
run: pip install --verbose dist/${{ needs.build_sdist.outputs.sdist_name }} | ||
|
||
- uses: actions/checkout@v4 | ||
|
||
- name: Install test dependencies | ||
run: pip install pytest hypothesis psutil pyarrow | ||
dudoslav marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- name: Run tests | ||
shell: bash | ||
run: | | ||
PROJECT_CWD=$PWD | ||
rm tiledb/__init__.py | ||
cd .. | ||
pytest -vv --showlocals $PROJECT_CWD | ||
|
||
upload_pypi: | ||
needs: [build_wheels, test_sdist] | ||
runs-on: ubuntu-latest | ||
environment: pypi | ||
permissions: | ||
id-token: write | ||
outputs: | ||
package_version: ${{ steps.get_package_version.outputs.package_version }} | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
path: dist | ||
merge-multiple: true | ||
|
||
- id: get_package_version | ||
run: | | ||
echo "package_version=$(ls dist/ | head -n 1 | cut -d - -f 2)" >> "$GITHUB_OUTPUT" | ||
|
||
- name: Upload to test-pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
repository-url: https://test.pypi.org/legacy/ | ||
|
||
- name: Upload to pypi | ||
if: startsWith(github.ref, 'refs/tags/') | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
x-ref
https://github.com/pypa/cibuildwheel/issues/1534
probably