-
Notifications
You must be signed in to change notification settings - Fork 20
Scikit for CmakeUpdates #229
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 52 commits
Commits
Show all changes
70 commits
Select commit
Hold shift + click to select a range
2a439b4
updates for using cmakeupdates
sjunges c94cecd
Merge branch 'setup' into scikit
sjunges 22d7b51
version and rpath
sjunges 95304a4
for fetch, storm has gspn, dft, pars, etc.
sjunges c295c19
add cibuldwheel example
lukovdm 55aa1fc
new pybind version
lukovdm b22248f
disable patch pybind
lukovdm 679f399
add dependecy installs to linux wheel
lukovdm 3f72b84
fix dep in wheel
lukovdm 76400d4
test
lukovdm 320bc56
test
lukovdm 9b43d41
disable patch pybind
lukovdm 25d62de
add macos deps
lukovdm 6b374b2
better linux and macos setup
lukovdm 166b152
make before all linux executable
lukovdm a569f8e
fix xcode issues and use old boost
lukovdm 97ca9d8
fix macos xcode version
lukovdm 3ba9235
fix xcode again and change repair wheel for linux
lukovdm 7553edd
fix macos-arm hopefully
lukovdm 7b29574
fix macos
lukovdm fd87cda
change xcode version on arm
lukovdm b794de5
remove compat again from macos
lukovdm b4c3b2a
fix portable
lukovdm 14f38f4
change xcode repair command
lukovdm 064d386
add cmake portable args and move to pyproject.toml
lukovdm 63c1ba0
remove universal arch
lukovdm e01ecc4
change python version
lukovdm 4aa7697
debug repair wheel info
lukovdm 5c9076d
better debug
lukovdm 2451d5f
better debug linux
lukovdm 007da3b
also run repair
lukovdm 9cd8dd2
update storm version for fetch
sjunges 61c9058
updates rpath
sjunges 81b068e
Merge branch 'scikit' of github.com:sjunges/stormpy into cibuildwheel
lukovdm ca71e7f
Merge pull request #1 from lukovdm/cibuildwheel
sjunges 59c1175
update rpaths
sjunges 1392502
Merge branch 'scikit' of https://github.com/sjunges/stormpy into scikit
sjunges 8b66a2a
update storm version to one without binaries
sjunges 8ac3e2c
Merge branch 'master' into scikit
sjunges a418583
new storm version
sjunges f1903f3
Merge branch 'scikit' of https://github.com/sjunges/stormpy into scikit
sjunges 29d55a8
some updates after a succesful run
sjunges 4745894
only x86, reduce python versions to build quicker
sjunges cfc2931
update xcode version to 15.4
sjunges e8f999b
also use another macosx version for arm
sjunges 5e6ed29
skip musl on linux for now
sjunges 0378680
fix
sjunges 5ff6f02
dependency vars
sjunges 1a89e53
skip musl in toml file
sjunges 4ea6af2
macosx target updated
sjunges d858f88
allow spot, always fetch
sjunges 0037d39
use newest storm
sjunges 105ad7d
test wheel in distros
lukovdm 10b5742
correct docker testing of wheels
lukovdm 0012936
fix matrix distro
lukovdm cdc6f7b
change distros
lukovdm 0189eaa
Allow Storm system version, storm dir hint and reverted to old pybind…
volkm ca92bbf
Small changes in wheelpypi CI
volkm f9c6750
Use pybind version 2.12.1
volkm 112bfa4
Add numpy as dependency to tests
volkm 7d07cbb
Merge pull request #2 from lukovdm/cibuildwheel
sjunges 59af011
better todo message
sjunges db2d839
Merge branch 'scikit' of https://github.com/sjunges/stormpy into scikit
sjunges 7c4a2e9
Run wheelpyip tests weekly
volkm 4048267
Updated Dockerfiles
volkm 473e933
ALLOW_STORM_SYSTEM=ON
volkm 07840d0
Consistent naming in buildtest
volkm f3baf1d
CI tests for fetching Storm
volkm 0a0dab5
Wheel tests for macOS
volkm fcbcd1e
Set correct deploy target in wheelpypi
volkm 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 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,34 @@ | ||
| #!/bin/bash | ||
|
|
||
| # Inspired by build process of spead2 | ||
|
|
||
| set -e -u | ||
|
|
||
| sccache_version=0.10.0 | ||
| boost_version=1.88.0 | ||
| boost_version_under=${boost_version//./_} | ||
| ginac_version=1.8.9 | ||
|
|
||
| dnf install -y boost-devel cln-devel gmp-devel glpk-devel hwloc-devel z3-devel xerces-c-devel eigen3-devel # missing ginac and boost | ||
|
|
||
| cd /tmp | ||
|
|
||
| # Install sccache | ||
| curl -fsSLO https://github.com/mozilla/sccache/releases/download/v${sccache_version}/sccache-v${sccache_version}-$(arch)-unknown-linux-musl.tar.gz | ||
| tar -zxf sccache-v${sccache_version}-$(arch)-unknown-linux-musl.tar.gz | ||
| cp sccache-v${sccache_version}-$(arch)-unknown-linux-musl/sccache /usr/bin | ||
|
|
||
| ## Install boost | ||
| #curl -fsSLO https://archives.boost.io/release/${boost_version}/source/boost_${boost_version_under}.tar.bz2 | ||
| #tar -jxf boost_${boost_version_under}.tar.bz2 | ||
| ## Quick-n-dirty approach (much faster than doing the install, which copies thousands of files) | ||
| #ln -s /tmp/boost_${boost_version_under}/boost /usr/include/boost | ||
|
|
||
| # Install ginac | ||
| curl -fsSLO https://www.ginac.de/ginac-${ginac_version}.tar.bz2 | ||
| tar -jxf ginac-${ginac_version}.tar.bz2 | ||
| cd ginac-${ginac_version} | ||
| export CXXFLAGS="-Wall -O2" | ||
| ./configure | ||
| make | ||
| make install | ||
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,90 @@ | ||
| name: Build and upload to PyPI | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| push: | ||
| # branches: | ||
| # - main | ||
| release: | ||
| types: | ||
| - published | ||
|
|
||
| jobs: | ||
| build_wheels: | ||
| name: Build wheels for ${{ matrix.os }} | ||
| runs-on: ${{ matrix.runs-on }} | ||
| strategy: | ||
| matrix: | ||
| os: [ linux-intel, macOS-intel, macOS-arm ] | ||
| include: | ||
| - archs: auto | ||
| platform: auto | ||
| xcode: "" | ||
| - os: linux-intel | ||
| runs-on: ubuntu-latest | ||
| archs: x86_64 | ||
| # - os: linux-arm | ||
| # runs-on: ubuntu-24.04-arm | ||
| - os: macos-intel | ||
| # macos-13 was the last x86_64 runner | ||
| runs-on: macos-13 | ||
| xcode: 14.3 | ||
| - os: macos-arm | ||
| # macos-14+ (including latest) are ARM64 runners | ||
| runs-on: macos-14 | ||
| # archs: auto,universal2 | ||
| xcode: 15.3 | ||
| fail-fast: false | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: maxim-lobanov/setup-xcode@v1 | ||
| if: ${{ matrix.xcode != '' }} | ||
| with: | ||
| xcode-version: ${{ matrix.xcode }} | ||
| - name: Build wheels | ||
| uses: pypa/cibuildwheel@v3.0.0b5 | ||
| env: | ||
| CIBW_PLATFORM: ${{ matrix.platform }} | ||
| CIBW_ARCHS: ${{ matrix.archs }} | ||
| MACOSX_DEPLOYMENT_TARGET: 14.0 | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | ||
| path: ./wheelhouse/*.whl | ||
|
|
||
| build_sdist: | ||
| name: Build source distribution | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Build sdist | ||
| run: pipx run build --sdist | ||
|
|
||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: cibw-sdist | ||
| path: dist/*.tar.gz | ||
|
|
||
| upload_pypi: | ||
| needs: [build_wheels, build_sdist] | ||
| runs-on: ubuntu-latest | ||
| environment: pypi | ||
| permissions: | ||
| id-token: write | ||
| # if: github.event_name == 'release' && github.event.action == 'published' | ||
| # or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this) | ||
| # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
| steps: | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| # unpacks all CIBW artifacts into dist/ | ||
| pattern: cibw-* | ||
| path: dist | ||
| merge-multiple: true | ||
|
|
||
| - uses: pypa/gh-action-pypi-publish@release/v1 | ||
| with: | ||
| repository-url: https://test.pypi.org/legacy/ |
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
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 |
|---|---|---|
| @@ -1,5 +1,4 @@ | ||
| # Auto-generated by CMake. | ||
|
|
||
| CARL_VERSION = "@CARL_VERSION@" | ||
| CARL_WITH_PARSER = @CARL_WITH_PARSER@ | ||
| CARL_WITH_CLN = @CARL_WITH_CLN@ |
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
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
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.
Why can we not use the ginac package from the package manager?
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.
We probably can, but the general advice seems to be to not use brew (and similar things hold for other package managers).
https://cibuildwheel.pypa.io/en/stable/faq/#missing-dependencies
I think having the ability to build a version from source is probably good in terms of flexibility here.
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.
Ok, so we should try to not rely on homebrew. In this case, I suggest that we also try to build cln manually, and maybe some other libraries if needed.