-
Notifications
You must be signed in to change notification settings - Fork 33
Update wheel build and test workflow #141
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
Closed
Closed
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
ad1c88e
Bump checkout and setup-python actions
michaeltryby 6e5ef9b
Enhance artifact handling
michaeltryby e31109c
Fix wheel artifact upload path in workflow
michaeltryby bd59d64
Fix wheel artifact upload path in workflow
michaeltryby dca2b01
Fix wheel filename retrieval in workflow
michaeltryby efd6d42
Fix path for wheel artifact upload
michaeltryby d3f2188
Fix path for wheel artifact upload in workflow
michaeltryby eeab848
Fix artifact name handling in build_wheel.yml
michaeltryby 6ec1150
Simplify get_wheel step in build_wheel.yml
michaeltryby 61e659b
Fix syntax error in artifact upload step
michaeltryby 3a68736
Update wheel artifact upload path in workflow
michaeltryby cf51a66
Update wheel artifact upload step in workflow
michaeltryby 2ab1a85
Update artifact name for wheel uploads
michaeltryby 32f5ae9
Update wheel artifact name to include python version
michaeltryby 91108e2
Update macOS deployment target and skip Python versions
michaeltryby e2aaa24
Update cmake_args for macOS in setup.py
michaeltryby a0f808d
Add MACOSX_DEPLOYMENT_TARGET to unit test workflow
michaeltryby 5da0156
Change macOS architecture from x86_64 to arm64
michaeltryby a5178ae
Fix MACOSX_DEPLOYMENT_TARGET format in workflow
michaeltryby 083390b
Change MACOSX_DEPLOYMENT_TARGET to string format
michaeltryby f77c28d
Update macOS architecture settings in build workflow
michaeltryby 4de8ffa
Update GitHub Actions workflow for building wheels
michaeltryby b08774a
Add Python 3.13 to build matrix in workflows
michaeltryby 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 | ||||
|---|---|---|---|---|---|---|
|
|
@@ -22,32 +22,32 @@ jobs: | |||||
|
|
||||||
| steps: | ||||||
| - name: Checkout repo | ||||||
| uses: actions/checkout@v3 | ||||||
| with: | ||||||
| submodules: true | ||||||
| uses: actions/checkout@v5 | ||||||
|
|
||||||
| - name: Install Python | ||||||
| uses: actions/setup-python@v4 | ||||||
| uses: actions/setup-python@v5 | ||||||
| with: | ||||||
| python-version: 3.10 | ||||||
| python-version: '3.10' | ||||||
|
|
||||||
| - name: Build wheel | ||||||
| run: | | ||||||
| pip install wheel | ||||||
| python setup.py bdist_wheel | ||||||
| - uses: actions/upload-artifact@v4 | ||||||
|
|
||||||
| - name: Upload wheel artifact | ||||||
| uses: actions/upload-artifact@v4 | ||||||
| with: | ||||||
| name: nrtest-swmm-wheel | ||||||
| path: nrtest-swmm/dist/*.whl | ||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
| build_wheels: | ||||||
| runs-on: ${{ matrix.os }} | ||||||
| strategy: | ||||||
| fail-fast: false | ||||||
| matrix: | ||||||
| os: [ubuntu-latest, windows-latest, macos-latest] | ||||||
| pyver: [cp39, cp310, cp311, cp312] | ||||||
| pyver: [cp39, cp310, cp311, cp312, cp313] | ||||||
|
|
||||||
| steps: | ||||||
| - name: Checkout repo | ||||||
|
|
@@ -60,6 +60,7 @@ jobs: | |||||
| with: | ||||||
| package-dir: ./swmm-toolkit | ||||||
| env: | ||||||
| MACOSX_DEPLOYMENT_TARGET: "11.0" | ||||||
| CIBW_TEST_COMMAND: "pytest {package}/tests" | ||||||
| CIBW_BEFORE_TEST: pip install -r {package}/test-requirements.txt | ||||||
| # mac needs ninja to build | ||||||
|
|
@@ -70,31 +71,31 @@ jobs: | |||||
| # configure cibuildwheel to build native archs ('auto'), and some emulated ones | ||||||
| CIBW_ARCHS_LINUX: x86_64 | ||||||
| CIBW_ARCHS_WINDOWS: AMD64 | ||||||
| CIBW_ARCHS_MACOS: x86_64 | ||||||
| CIBW_ARCHS_MACOS: x86_64 arm64 | ||||||
| # only build current supported python: https://devguide.python.org/versions/ | ||||||
| # don't build pypy or musllinux to save build time. TODO: find a good way to support those archs | ||||||
| CIBW_BUILD: ${{matrix.pyver}}-* | ||||||
| CIBW_SKIP: cp36-* cp37-* pp* *-musllinux* | ||||||
| CIBW_SKIP: cp38-* pp* *-musllinux* | ||||||
| # Will avoid testing on emulated architectures | ||||||
| # Skip trying to test arm64 builds on Intel Macs | ||||||
| CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *-macosx_arm64 *-macosx_universal2:arm64" | ||||||
| CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *-macosx_universal2:arm64" | ||||||
| CIBW_BUILD_VERBOSITY: 1 | ||||||
|
|
||||||
| - uses: actions/upload-artifact@v4 | ||||||
| with: | ||||||
| name: wheels-${{ matrix.os }}-${{ matrix.pyver }} | ||||||
| path: ./wheelhouse/*.whl | ||||||
|
|
||||||
| build_cross_wheels: | ||||||
| runs-on: ${{ matrix.os }} | ||||||
| runs-on: ubuntu-latest | ||||||
| strategy: | ||||||
| fail-fast: false | ||||||
| matrix: | ||||||
| os: [ubuntu-latest,macos-12] | ||||||
| pyver: [cp38, cp39, cp310, cp311, cp312] | ||||||
| pyver: [cp39, cp310, cp311, cp312, cp313] | ||||||
|
|
||||||
| steps: | ||||||
| - name: Checkout repo | ||||||
| uses: actions/checkout@v3 | ||||||
| uses: actions/checkout@v5 | ||||||
| with: | ||||||
| submodules: true | ||||||
|
|
||||||
|
|
@@ -114,13 +115,13 @@ jobs: | |||||
| CIBW_BEFORE_BUILD_LINUX: rm -f $(which swig) && rm -f $(which swig4.0) | ||||||
| # configure cibuildwheel to build native archs ('auto'), and some emulated ones | ||||||
| CIBW_ARCHS_LINUX: aarch64 | ||||||
| CIBW_ARCHS_MACOS: arm64 | ||||||
| # only build current supported python: https://devguide.python.org/versions/ | ||||||
| # don't build pypy or musllinux to save build time. TODO: find a good way to support those archs | ||||||
| CIBW_BUILD: ${{matrix.pyver}}-* | ||||||
| CIBW_SKIP: cp36-* cp37-* cp-*38 pp* *-musllinux* | ||||||
| CIBW_SKIP: cp-*38 pp* *-musllinux* | ||||||
| CIBW_BUILD_VERBOSITY: 1 | ||||||
|
|
||||||
| - uses: actions/upload-artifact@v4 | ||||||
| with: | ||||||
| name: wheels-linux-aarch64-${{ matrix.pyver }} | ||||||
|
||||||
| name: wheels-linux-aarch64-${{ matrix.pyver }} | |
| name: wheels-linux-aarch64-${{ matrix.pyver }} |
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.
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.
The checkout action is missing the
submodules: trueconfiguration that was present in the original version. This could cause build failures if the project depends on git submodules.