Compare commits
18
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4a353c0c6 | ||
|
|
e62fa652c5 | ||
|
|
4f22ef141f | ||
|
|
4d8122307e | ||
|
|
f68f2ea820 | ||
|
|
9abb06c66d | ||
|
|
ce3fb78320 | ||
|
|
3254807509 | ||
|
|
5b0b4583a8 | ||
|
|
a7ea5fb408 | ||
|
|
bc55e8bf0a | ||
|
|
7f908b0257 | ||
|
|
3c0df0b567 | ||
|
|
c753cd282d | ||
|
|
07bd78c4e6 | ||
|
|
d7db575b96 | ||
|
|
7154e181e6 | ||
|
|
ec181518ca |
@@ -38,7 +38,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-latest, macos-11]
|
os: [ubuntu-20.04, windows-latest, macos-13, macos-14]
|
||||||
python_version: ['3.12']
|
python_version: ['3.12']
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
|
|||||||
@@ -79,3 +79,20 @@ repos:
|
|||||||
- id: codespell
|
- id: codespell
|
||||||
args: ["-L", "sur", "-w"]
|
args: ["-L", "sur", "-w"]
|
||||||
exclude: ^docs/working-examples\.md$ # Autogenerated
|
exclude: ^docs/working-examples\.md$ # Autogenerated
|
||||||
|
|
||||||
|
|
||||||
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
||||||
|
rev: 0.27.0
|
||||||
|
hooks:
|
||||||
|
- id: check-dependabot
|
||||||
|
- id: check-github-actions
|
||||||
|
- id: check-github-workflows
|
||||||
|
- id: check-gitlab-ci
|
||||||
|
- id: check-readthedocs
|
||||||
|
- id: check-travis
|
||||||
|
- id: check-jsonschema
|
||||||
|
name: Check projects
|
||||||
|
args: [--schemafile, docs/data/projects.schema.json]
|
||||||
|
files: '^docs/data/projects.yml$'
|
||||||
|
- id: check-metaschema
|
||||||
|
files: '^docs/data/projects.schema.json$'
|
||||||
|
|||||||
@@ -27,20 +27,17 @@ What does it do?
|
|||||||
| CPython 3.6 | ✅ | N/A | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.6 | ✅ | N/A | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.7 | ✅ | N/A | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.7 | ✅ | N/A | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.8 | ✅ | ✅ | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.8 | ✅ | ✅ | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅³ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.11 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.11 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CPython 3.12⁵ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| CPython 3.12 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| PyPy 3.7 v7.3 | ✅ | N/A | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
| PyPy 3.7 v7.3 | ✅ | N/A | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
||||||
| PyPy 3.8 v7.3 | ✅ | ✅⁴ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
| PyPy 3.8 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
||||||
| PyPy 3.9 v7.3 | ✅ | ✅⁴ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
| PyPy 3.9 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
||||||
| PyPy 3.10 v7.3 | ✅ | ✅⁴ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
| PyPy 3.10 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A |
|
||||||
|
|
||||||
<sup>¹ PyPy is only supported for manylinux wheels.</sup><br>
|
<sup>¹ PyPy is only supported for manylinux wheels.</sup><br>
|
||||||
<sup>² Windows arm64 support is experimental.</sup><br>
|
<sup>² Windows arm64 support is experimental.</sup><br>
|
||||||
<sup>³ Alpine 3.14 and very briefly 3.15's default python3 [was not able to load](https://github.com/pypa/cibuildwheel/issues/934) musllinux wheels. This has been fixed; please upgrade the python package if using Alpine from before the fix.</sup><br>
|
|
||||||
<sup>⁴ Cross-compilation not supported with PyPy - to build these wheels you need to run cibuildwheel on an Apple Silicon machine.</sup><br>
|
|
||||||
<sup>⁵ CPython 3.12 is built by default using Python RCs, starting with cibuildwheel 2.15.</sup><br>
|
|
||||||
|
|
||||||
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
|
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
|
||||||
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
|
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
|
||||||
@@ -56,18 +53,16 @@ Usage
|
|||||||
|
|
||||||
| | Linux | macOS | Windows | Linux ARM | macOS ARM | Windows ARM |
|
| | Linux | macOS | Windows | Linux ARM | macOS ARM | Windows ARM |
|
||||||
|-----------------|-------|-------|---------|-----------|-----------|-------------|
|
|-----------------|-------|-------|---------|-----------|-----------|-------------|
|
||||||
| GitHub Actions | ✅ | ✅ | ✅ | ✅¹ | ✅² | ✅⁴ |
|
| GitHub Actions | ✅ | ✅ | ✅ | ✅¹ | ✅ | ✅² |
|
||||||
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅² | ✅⁴ |
|
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² |
|
||||||
| Travis CI | ✅ | | ✅ | ✅ | | |
|
| Travis CI | ✅ | | ✅ | ✅ | | |
|
||||||
| AppVeyor | ✅ | ✅ | ✅ | | ✅² | ✅⁴ |
|
| AppVeyor | ✅ | ✅ | ✅ | | ✅ | ✅² |
|
||||||
| CircleCI | ✅ | ✅ | | ✅ | ✅² | |
|
| CircleCI | ✅ | ✅ | | ✅ | ✅ | |
|
||||||
| Gitlab CI | ✅ | | ✅ | ✅¹ | | |
|
| Gitlab CI | ✅ | | ✅ | ✅¹ | | |
|
||||||
| Cirrus CI | ✅ | ✅³ | ✅ | ✅ | ✅ | |
|
| Cirrus CI | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
||||||
|
|
||||||
<sup>¹ [Requires emulation](https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation), distributed separately. Other services may also support Linux ARM through emulation or third-party build hosts, but these are not tested in our CI.</sup><br>
|
<sup>¹ [Requires emulation](https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation), distributed separately. Other services may also support Linux ARM through emulation or third-party build hosts, but these are not tested in our CI.</sup><br>
|
||||||
<sup>² [Uses cross-compilation](https://cibuildwheel.readthedocs.io/en/stable/faq/#universal2). It is not possible to test `arm64` and the `arm64` part of a `universal2` wheel on this CI platform.</sup><br>
|
<sup>² [Uses cross-compilation](https://cibuildwheel.readthedocs.io/en/stable/faq/#windows-arm64). It is not possible to test `arm64` on this CI platform.</sup>
|
||||||
<sup>³ [Uses cross-compilation](https://cibuildwheel.readthedocs.io/en/stable/faq/#universal2). Thanks to Rosetta 2 emulation, it is possible to test `x86_64` and both parts of a `universal2` wheel on this CI platform.</sup><br>
|
|
||||||
<sup>⁴ [Uses cross-compilation](https://cibuildwheel.readthedocs.io/en/stable/faq/#windows-arm64). It is not possible to test `arm64` on this CI platform.</sup>
|
|
||||||
|
|
||||||
<!--intro-end-->
|
<!--intro-end-->
|
||||||
|
|
||||||
@@ -87,7 +82,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-2019, macOS-11]
|
os: [ubuntu-latest, windows-latest, macOS-12, macOS-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -96,7 +91,7 @@ jobs:
|
|||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v3
|
||||||
|
|
||||||
- name: Install cibuildwheel
|
- name: Install cibuildwheel
|
||||||
run: python -m pip install cibuildwheel==2.16.4
|
run: python -m pip install cibuildwheel==2.16.5
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
run: python -m cibuildwheel --output-dir wheelhouse
|
run: python -m cibuildwheel --output-dir wheelhouse
|
||||||
@@ -213,6 +208,13 @@ Changelog
|
|||||||
|
|
||||||
<!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually -->
|
<!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually -->
|
||||||
|
|
||||||
|
### v2.16.5
|
||||||
|
|
||||||
|
_30 January 2024_
|
||||||
|
|
||||||
|
- 🐛 Fix an incompatibility with the GitHub Action and new GitHub Runner images for Windows that bundle Powershell 7.3+ (#1741)
|
||||||
|
- 🛠 Preliminary support for new `macos-14` arm64 runners (#1743)
|
||||||
|
|
||||||
### v2.16.4
|
### v2.16.4
|
||||||
|
|
||||||
_28 January 2024_
|
_28 January 2024_
|
||||||
@@ -245,18 +247,6 @@ _26 September 2023_
|
|||||||
- 🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc3 (#1625)
|
- 🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc3 (#1625)
|
||||||
- 🛠 Only calls `linux32` in containers when necessary (#1599)
|
- 🛠 Only calls `linux32` in containers when necessary (#1599)
|
||||||
|
|
||||||
### v2.16.0
|
|
||||||
|
|
||||||
_18 September 2023_
|
|
||||||
|
|
||||||
- ✨ Add the ability to pass additional flags to a build frontend through the [CIBW_BUILD_FRONTEND](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) option (#1588).
|
|
||||||
- ✨ The environment variable SOURCE_DATE_EPOCH is now automatically passed through to container Linux builds (useful for [reproducible builds](https://reproducible-builds.org/docs/source-date-epoch/)!) (#1589)
|
|
||||||
- 🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc2 (#1604)
|
|
||||||
- 🐛 Fix `requires_python` auto-detection from setup.py when the call to `setup()` is within an `if __name__ == "__main__"` block (#1613)
|
|
||||||
- 🐛 Fix a bug that prevented building Linux wheels in Docker on a Windows host (#1573)
|
|
||||||
- 🐛 `--only` can now select prerelease-pythons (#1564)
|
|
||||||
- 📚 Docs & examples updates (#1582, #1593, #1598, #1615)
|
|
||||||
|
|
||||||
<!-- END bin/update_readme_changelog.py -->
|
<!-- END bin/update_readme_changelog.py -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
+13
-4
@@ -31,10 +31,14 @@ runs:
|
|||||||
python-version: "3.8 - 3.12"
|
python-version: "3.8 - 3.12"
|
||||||
update-environment: false
|
update-environment: false
|
||||||
|
|
||||||
|
# macos-14 (M1) may be missing pipx (due to it not having CPython)
|
||||||
|
- run: |
|
||||||
|
"${{ steps.python.outputs.python-path }}" -m pip install pipx
|
||||||
|
shell: bash
|
||||||
|
|
||||||
# Redirecting stderr to stdout to fix interleaving issue in Actions.
|
# Redirecting stderr to stdout to fix interleaving issue in Actions.
|
||||||
- run: >
|
- run: >
|
||||||
pipx run
|
"${{ steps.python.outputs.python-path }}" -m pipx run
|
||||||
--python '${{ steps.python.outputs.python-path }}'
|
|
||||||
--spec '${{ github.action_path }}'
|
--spec '${{ github.action_path }}'
|
||||||
cibuildwheel
|
cibuildwheel
|
||||||
"${{ inputs.package-dir }}"
|
"${{ inputs.package-dir }}"
|
||||||
@@ -46,9 +50,14 @@ runs:
|
|||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
|
|
||||||
# Windows needs powershell to interact nicely with Meson
|
# Windows needs powershell to interact nicely with Meson
|
||||||
|
# $PSNativeCommandArgumentPassing was introduced in pwsh 7.3 and the
|
||||||
|
# legacy behaviour is needed for backwards compatibility with how this
|
||||||
|
# was called in the past.
|
||||||
- run: >
|
- run: >
|
||||||
pipx run
|
if ($PSNativeCommandArgumentPassing) {
|
||||||
--python "${{ steps.python.outputs.python-path }}"
|
$PSNativeCommandArgumentPassing = 'Legacy'
|
||||||
|
};
|
||||||
|
& "${{ steps.python.outputs.python-path }}" -m pipx run
|
||||||
--spec "${{ github.action_path }}"
|
--spec "${{ github.action_path }}"
|
||||||
cibuildwheel
|
cibuildwheel
|
||||||
"${{ inputs.package-dir }}"
|
"${{ inputs.package-dir }}"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
__version__ = "2.16.4"
|
__version__ = "2.16.5"
|
||||||
|
|||||||
@@ -488,9 +488,8 @@ def build(options: Options, tmp_path: Path) -> None:
|
|||||||
unwrap(
|
unwrap(
|
||||||
"""
|
"""
|
||||||
While arm64 wheels can be built on x86_64, they cannot be
|
While arm64 wheels can be built on x86_64, they cannot be
|
||||||
tested. The ability to test the arm64 wheels will be added in a
|
tested. Consider building arm64 wheels natively, if your CI
|
||||||
future release of cibuildwheel, once Apple Silicon CI runners
|
provider offers this. To silence this warning, set
|
||||||
are widely available. To silence this warning, set
|
|
||||||
`CIBW_TEST_SKIP: "*-macosx_arm64"`.
|
`CIBW_TEST_SKIP: "*-macosx_arm64"`.
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
@@ -500,11 +499,11 @@ def build(options: Options, tmp_path: Path) -> None:
|
|||||||
unwrap(
|
unwrap(
|
||||||
"""
|
"""
|
||||||
While universal2 wheels can be built on x86_64, the arm64 part
|
While universal2 wheels can be built on x86_64, the arm64 part
|
||||||
of them cannot currently be tested. The ability to test the
|
of the wheel cannot be tested on x86_64. Consider building
|
||||||
arm64 part of a universal2 wheel will be added in a future
|
universal2 wheels on an arm64 runner, if your CI provider offers
|
||||||
release of cibuildwheel, once Apple Silicon CI runners are
|
this. Notably, an arm64 runner can also test the x86_64 part of
|
||||||
widely available. To silence this warning, set
|
the wheel, through Rosetta emulation. To silence this warning,
|
||||||
`CIBW_TEST_SKIP: "*-macosx_universal2:arm64"`.
|
set `CIBW_TEST_SKIP: "*-macosx_universal2:arm64"`.
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[x86_64]
|
[x86_64]
|
||||||
manylinux1 = quay.io/pypa/manylinux1_x86_64:2023-12-10-cee9633
|
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-01-28-7b6687a
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-01-23-12ffabc
|
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-01-23-12ffabc
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
|
||||||
@@ -8,7 +8,7 @@ musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024-01-23-12ffabc
|
|||||||
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024-01-23-12ffabc
|
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024-01-23-12ffabc
|
||||||
|
|
||||||
[i686]
|
[i686]
|
||||||
manylinux1 = quay.io/pypa/manylinux1_i686:2023-12-10-cee9633
|
manylinux1 = quay.io/pypa/manylinux1_i686:2024-01-28-7b6687a
|
||||||
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
|
||||||
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-01-23-12ffabc
|
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-01-23-12ffabc
|
||||||
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
|
||||||
|
|||||||
@@ -4,6 +4,13 @@ title: Changelog
|
|||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
### v2.16.5
|
||||||
|
|
||||||
|
_30 January 2024_
|
||||||
|
|
||||||
|
- 🐛 Fix an incompatibility with the GitHub Action and new GitHub Runner images for Windows that bundle Powershell 7.3+ (#1741)
|
||||||
|
- 🛠 Preliminary support for new `macos-14` arm64 runners (#1743)
|
||||||
|
|
||||||
### v2.16.4
|
### v2.16.4
|
||||||
|
|
||||||
_28 January 2024_
|
_28 January 2024_
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
|
"$id": "https://github.com/pypa/cibuildwheel/blob/main/cibuildwheel/docs/data/projects.schema.json",
|
||||||
|
"type": "array",
|
||||||
|
"description": "The projects file for cibuildwheel",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"name": { "type": "string" },
|
||||||
|
"gh": { "type": "string", "pattern": "[^/]*/[^/]*" },
|
||||||
|
"stars": { "$ref": "#/items/properties/gh" },
|
||||||
|
"pypi": { "type": "string" },
|
||||||
|
"notes": { "type": "string" },
|
||||||
|
"ci": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"enum": [
|
||||||
|
"github",
|
||||||
|
"travisci",
|
||||||
|
"appveyor",
|
||||||
|
"circleci",
|
||||||
|
"gitlab",
|
||||||
|
"cirrusci",
|
||||||
|
"azurepipelines"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ci_config": { "type": "string" },
|
||||||
|
"os": {
|
||||||
|
"type": "array",
|
||||||
|
"items": { "enum": ["windows", "apple", "linux"] }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["name", "gh", "ci", "os"]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -603,13 +603,13 @@
|
|||||||
gh: tensorchord/envd
|
gh: tensorchord/envd
|
||||||
ci: [github]
|
ci: [github]
|
||||||
os: [apple, linux, windows]
|
os: [apple, linux, windows]
|
||||||
note: A machine learning development environment build tool
|
notes: A machine learning development environment build tool
|
||||||
|
|
||||||
- name: mosec
|
- name: mosec
|
||||||
gh: mosecorg/mosec
|
gh: mosecorg/mosec
|
||||||
ci: [github]
|
ci: [github]
|
||||||
os: [linux, apple]
|
os: [linux, apple]
|
||||||
note: A machine learning model serving framework powered by Rust
|
notes: A machine learning model serving framework powered by Rust
|
||||||
|
|
||||||
- name: ril
|
- name: ril
|
||||||
gh: Cryptex-github/ril-py
|
gh: Cryptex-github/ril-py
|
||||||
@@ -638,3 +638,10 @@
|
|||||||
os: [windows, linux, apple]
|
os: [windows, linux, apple]
|
||||||
pypi: werpy
|
pypi: werpy
|
||||||
notes: An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER).
|
notes: An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER).
|
||||||
|
|
||||||
|
- name: keyvi
|
||||||
|
gh: KeyviDev/keyvi
|
||||||
|
ci: [github]
|
||||||
|
os: [linux, apple]
|
||||||
|
pypi: keyvi
|
||||||
|
notes: FST based key value index highly optimized for size and lookup performance, utilizes ccache action for improved runtime
|
||||||
|
|||||||
+1
-1
@@ -255,7 +255,7 @@ h1, h2, h3, h4, h5, h6 {
|
|||||||
border: none;
|
border: none;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
background-color: #f0f1f1;
|
background-color: #f0f1f1;
|
||||||
font-size: 100%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+14
-31
@@ -20,11 +20,11 @@ Linux wheels are built in [`manylinux`/`musllinux` containers](https://github.co
|
|||||||
|
|
||||||
### Building macOS wheels for Apple Silicon {: #apple-silicon}
|
### Building macOS wheels for Apple Silicon {: #apple-silicon}
|
||||||
|
|
||||||
`cibuildwheel` supports cross-compiling `universal2` and `arm64` wheels on `x86_64` runners.
|
`cibuildwheel` supports both native builds and cross-compiling between `arm64` (Apple Silicon) and `x86_64` (Intel) architectures, including the cross-compatible `universal2` format.
|
||||||
|
|
||||||
#### Overview of Mac architectures
|
#### Overview of Mac architectures
|
||||||
|
|
||||||
With the introduction of Apple Silicon, you now have several choices for wheels for Python 3.8+:
|
You have several choices for wheels for Python 3.8+:
|
||||||
|
|
||||||
##### `x86_64`
|
##### `x86_64`
|
||||||
|
|
||||||
@@ -68,43 +68,26 @@ Opinions vary on which of arch-specific or `universal2` wheels are best - some p
|
|||||||
|
|
||||||
See [GitHub issue 1333](https://github.com/pypa/cibuildwheel/issues/1333) for more discussion.
|
See [GitHub issue 1333](https://github.com/pypa/cibuildwheel/issues/1333) for more discussion.
|
||||||
|
|
||||||
#### How to cross-compile
|
#### How?
|
||||||
|
|
||||||
With the exception of Cirrus CI, macOS CI runners are still Intel-based, and Apple Silicon wheels are not built by default on Intel runners. However, cross-compilation can be enabled by adding extra archs to the [`CIBW_ARCHS_MACOS` option](options.md#archs) - e.g. `x86_64 arm64`. Cross-compilation is provided by the Xcode toolchain.
|
It's easiest to build `x86_64` wheels on `x86_64` runners, and `arm64` wheels on `arm64` runners.
|
||||||
|
|
||||||
!!! important
|
On GitHub Actions, `macos-14` runners are `arm64`, and `macos-13` runners are `x86_64`. So all you need to do is ensure both are in your build matrix.
|
||||||
When cross-compiling on Intel, it is not possible to test `arm64` and the `arm64` part of a `universal2` wheel.
|
|
||||||
|
|
||||||
`cibuildwheel` will raise a warning to notify you of this - these warnings be be silenced by skipping testing on these platforms: `CIBW_TEST_SKIP: "*_arm64 *_universal2:arm64"`.
|
#### Cross-compiling
|
||||||
|
|
||||||
!!! note
|
If your CI provider doesn't offer arm64 runners yet, or you want to create `universal2`, you'll have to cross-compile. Cross-compilation can be enabled by adding extra archs to the [`CIBW_ARCHS_MACOS` option](options.md#archs) - e.g. `CIBW_ARCHS_MACOS="x86_64 universal2"`. Cross-compilation is provided by Xcode toolchain v12.2+.
|
||||||
Your runner needs Xcode Command Line Tools 12.2 or later to build `universal2` or `arm64`.
|
|
||||||
|
|
||||||
Only CPython 3.8 and newer support `universal2` and `arm64` wheels.
|
Regarding testing,
|
||||||
|
|
||||||
|
- On an arm64 runner, it is possible to test x86_64 wheels an and both parts of a universal2 wheel using Rosetta 2 emulation.
|
||||||
|
- On an x86_64 runner, arm64 code can be compiled but it can't be tested. `cibuildwheel` will raise a warning to notify you of this - these warnings can be silenced by skipping testing on these platforms: `CIBW_TEST_SKIP: "*_arm64 *_universal2:arm64"`.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
If your project uses **Poetry** as a build backend, cross-compiling on macOS [does not currently work](https://github.com/python-poetry/poetry/issues/7107). In some cases arm64 wheels can be built but their tags will be incorrect, with the platform tag showing `x86_64` instead of `arm64`.
|
If your project uses **Poetry** as a build backend, cross-compiling on macOS [does not currently work](https://github.com/python-poetry/poetry/issues/7107). In some cases arm64 wheels can be built but their tags will be incorrect, with the platform tag showing `x86_64` instead of `arm64`.
|
||||||
|
|
||||||
As a workaround, the tag can be fixed before running delocate to repair the wheel. The [`wheel tags`](https://wheel.readthedocs.io/en/stable/reference/wheel_tags.html) command is ideal for this. See [this workflow](https://gist.github.com/anderssonjohan/49f07e33fc5cb2420515a8ac76dc0c95#file-build-pendulum-wheels-yml-L39-L53) for an example usage of `wheel tags`.
|
As a workaround, the tag can be fixed before running delocate to repair the wheel. The [`wheel tags`](https://wheel.readthedocs.io/en/stable/reference/wheel_tags.html) command is ideal for this. See [this workflow](https://gist.github.com/anderssonjohan/49f07e33fc5cb2420515a8ac76dc0c95#file-build-pendulum-wheels-yml-L39-L53) for an example usage of `wheel tags`.
|
||||||
|
|
||||||
Hopefully, cross-compilation is a temporary situation. Once we have widely available Apple Silicon CI runners, we can build `arm64` wheels natively. Until then, cross-compiling `arm64` or `universal2` wheels requires opt-in by setting `CIBW_ARCHS_MACOS` on Intel runners.
|
|
||||||
|
|
||||||
Here's an example GitHub Actions workflow with a job that builds for Apple Silicon:
|
|
||||||
|
|
||||||
> .github/workflows/build_macos.yml
|
|
||||||
|
|
||||||
```yml
|
|
||||||
{% include "../examples/github-apple-silicon.yml" %}
|
|
||||||
```
|
|
||||||
|
|
||||||
Here's an example Cirrus CI workflow with a job that builds for macOS Intel through Rosetta 2 emulation and for Apple Silicon natively:
|
|
||||||
|
|
||||||
> .cirrus.yml
|
|
||||||
|
|
||||||
```yml
|
|
||||||
{% include "../examples/cirrus-ci-intel-mac.yml" %}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Building Linux wheels for non-native archs using emulation {: #emulation}
|
### Building Linux wheels for non-native archs using emulation {: #emulation}
|
||||||
|
|
||||||
cibuildwheel supports building non-native architectures on Linux, via
|
cibuildwheel supports building non-native architectures on Linux, via
|
||||||
@@ -159,7 +142,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead
|
|||||||
If you use GitHub Actions for builds, you can use cibuildwheel as an action:
|
If you use GitHub Actions for builds, you can use cibuildwheel as an action:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
uses: pypa/cibuildwheel@v2.16.4
|
uses: pypa/cibuildwheel@v2.16.5
|
||||||
```
|
```
|
||||||
|
|
||||||
This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal.
|
This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal.
|
||||||
@@ -181,7 +164,7 @@ The second option, and the only one that supports other CI systems, is using a `
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# requirements-cibw.txt
|
# requirements-cibw.txt
|
||||||
cibuildwheel==2.16.4
|
cibuildwheel==2.16.5
|
||||||
```
|
```
|
||||||
|
|
||||||
Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this:
|
Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this:
|
||||||
@@ -324,7 +307,7 @@ Solutions to this vary, but the simplest is to use pipx:
|
|||||||
# most runners have pipx preinstalled, but in case you don't
|
# most runners have pipx preinstalled, but in case you don't
|
||||||
python3 -m pip install pipx
|
python3 -m pip install pipx
|
||||||
|
|
||||||
pipx run cibuildwheel==2.16.4 --output-dir wheelhouse
|
pipx run cibuildwheel==2.16.5 --output-dir wheelhouse
|
||||||
pipx run twine upload wheelhouse/*.whl
|
pipx run twine upload wheelhouse/*.whl
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -343,8 +343,8 @@ See the [cibuildwheel 1 documentation](https://cibuildwheel.readthedocs.io/en/1.
|
|||||||
|
|
||||||
A list of architectures to build.
|
A list of architectures to build.
|
||||||
|
|
||||||
On macOS, this option can be used to cross-compile between `x86_64`,
|
On macOS, this option can be used to [cross-compile](faq.md#cross-compiling)
|
||||||
`universal2` and `arm64` for Apple Silicon support.
|
between `x86_64`, `universal2` and `arm64`.
|
||||||
|
|
||||||
On Linux, this option can be used to build non-native architectures under
|
On Linux, this option can be used to build non-native architectures under
|
||||||
emulation. See [this guide](faq.md#emulation) for more information.
|
emulation. See [this guide](faq.md#emulation) for more information.
|
||||||
|
|||||||
+6
-4
@@ -178,13 +178,14 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-2019, macos-11]
|
# macos-13 is an intel runner, macos-14 is apple silicon
|
||||||
|
os: [ubuntu-20.04, windows-2019, macos-13, macos-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
run: pipx run cibuildwheel==2.16.4
|
run: pipx run cibuildwheel==2.16.5
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -211,7 +212,8 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-2019, macos-11]
|
# macos-13 is an intel runner, macos-14 is apple silicon
|
||||||
|
os: [ubuntu-20.04, windows-2019, macos-13, macos-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -220,7 +222,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
|
|||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v3
|
||||||
|
|
||||||
- name: Install cibuildwheel
|
- name: Install cibuildwheel
|
||||||
run: python -m pip install cibuildwheel==2.16.4
|
run: python -m pip install cibuildwheel==2.16.5
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
run: python -m cibuildwheel --output-dir wheelhouse
|
run: python -m cibuildwheel --output-dir wheelhouse
|
||||||
|
|||||||
@@ -88,8 +88,8 @@ title: Working examples
|
|||||||
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
|
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
|
||||||
| [pillow-heif][] | ![github icon][] ![cirrusci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Bindings to libheif library with third party dependencies. Fully automated CI for tests and publishing including Apple Silicon builds. |
|
| [pillow-heif][] | ![github icon][] ![cirrusci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Bindings to libheif library with third party dependencies. Fully automated CI for tests and publishing including Apple Silicon builds. |
|
||||||
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
||||||
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
|
||||||
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
||||||
|
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
||||||
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
||||||
| [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 |
|
| [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 |
|
||||||
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
||||||
@@ -195,8 +195,8 @@ title: Working examples
|
|||||||
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
|
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
|
||||||
[pillow-heif]: https://github.com/bigcat88/pillow_heif
|
[pillow-heif]: https://github.com/bigcat88/pillow_heif
|
||||||
[TgCrypto]: https://github.com/pyrogram/tgcrypto
|
[TgCrypto]: https://github.com/pyrogram/tgcrypto
|
||||||
[iDynTree]: https://github.com/robotology/idyntree
|
|
||||||
[bx-python]: https://github.com/bxlab/bx-python
|
[bx-python]: https://github.com/bxlab/bx-python
|
||||||
|
[iDynTree]: https://github.com/robotology/idyntree
|
||||||
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
||||||
[Python-WebRTC]: https://github.com/MarshalX/python-webrtc
|
[Python-WebRTC]: https://github.com/MarshalX/python-webrtc
|
||||||
[pybase64]: https://github.com/mayeut/pybase64
|
[pybase64]: https://github.com/mayeut/pybase64
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ stack: python 3.7
|
|||||||
init:
|
init:
|
||||||
- cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH%
|
- cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH%
|
||||||
|
|
||||||
install: python -m pip install cibuildwheel==2.16.4
|
install: python -m pip install cibuildwheel==2.16.5
|
||||||
|
|
||||||
build_script: python -m cibuildwheel --output-dir wheelhouse
|
build_script: python -m cibuildwheel --output-dir wheelhouse
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ jobs:
|
|||||||
- bash: |
|
- bash: |
|
||||||
set -o errexit
|
set -o errexit
|
||||||
python3 -m pip install --upgrade pip
|
python3 -m pip install --upgrade pip
|
||||||
pip3 install cibuildwheel==2.16.4
|
pip3 install cibuildwheel==2.16.5
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
- bash: cibuildwheel --output-dir wheelhouse .
|
- bash: cibuildwheel --output-dir wheelhouse .
|
||||||
displayName: Build wheels
|
displayName: Build wheels
|
||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
- bash: |
|
- bash: |
|
||||||
set -o errexit
|
set -o errexit
|
||||||
python3 -m pip install --upgrade pip
|
python3 -m pip install --upgrade pip
|
||||||
python3 -m pip install cibuildwheel==2.16.4
|
python3 -m pip install cibuildwheel==2.16.5
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
- bash: cibuildwheel --output-dir wheelhouse .
|
- bash: cibuildwheel --output-dir wheelhouse .
|
||||||
displayName: Build wheels
|
displayName: Build wheels
|
||||||
@@ -34,7 +34,7 @@ jobs:
|
|||||||
- bash: |
|
- bash: |
|
||||||
set -o errexit
|
set -o errexit
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install cibuildwheel==2.16.4
|
pip install cibuildwheel==2.16.5
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
- bash: cibuildwheel --output-dir wheelhouse .
|
- bash: cibuildwheel --output-dir wheelhouse .
|
||||||
displayName: Build wheels
|
displayName: Build wheels
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Build the Linux wheels.
|
name: Build the Linux wheels.
|
||||||
command: |
|
command: |
|
||||||
pip3 install --user cibuildwheel==2.16.4
|
pip3 install --user cibuildwheel==2.16.5
|
||||||
cibuildwheel --output-dir wheelhouse
|
cibuildwheel --output-dir wheelhouse
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: wheelhouse/
|
path: wheelhouse/
|
||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Build the Linux aarch64 wheels.
|
name: Build the Linux aarch64 wheels.
|
||||||
command: |
|
command: |
|
||||||
python3 -m pip install --user cibuildwheel==2.16.4
|
python3 -m pip install --user cibuildwheel==2.16.5
|
||||||
python3 -m cibuildwheel --output-dir wheelhouse
|
python3 -m cibuildwheel --output-dir wheelhouse
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: wheelhouse/
|
path: wheelhouse/
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Build the OS X wheels.
|
name: Build the OS X wheels.
|
||||||
command: |
|
command: |
|
||||||
pip3 install cibuildwheel==2.16.4
|
pip3 install cibuildwheel==2.16.5
|
||||||
cibuildwheel --output-dir wheelhouse
|
cibuildwheel --output-dir wheelhouse
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: wheelhouse/
|
path: wheelhouse/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
build_and_store_wheels: &BUILD_AND_STORE_WHEELS
|
build_and_store_wheels: &BUILD_AND_STORE_WHEELS
|
||||||
install_cibuildwheel_script:
|
install_cibuildwheel_script:
|
||||||
- python -m pip install cibuildwheel==2.16.4
|
- python -m pip install cibuildwheel==2.16.5
|
||||||
run_cibuildwheel_script:
|
run_cibuildwheel_script:
|
||||||
- cibuildwheel
|
- cibuildwheel
|
||||||
wheels_artifacts:
|
wheels_artifacts:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
build_and_store_wheels: &BUILD_AND_STORE_WHEELS
|
build_and_store_wheels: &BUILD_AND_STORE_WHEELS
|
||||||
install_cibuildwheel_script:
|
install_cibuildwheel_script:
|
||||||
- python -m pip install cibuildwheel==2.16.4
|
- python -m pip install cibuildwheel==2.16.5
|
||||||
run_cibuildwheel_script:
|
run_cibuildwheel_script:
|
||||||
- cibuildwheel
|
- cibuildwheel
|
||||||
wheels_artifacts:
|
wheels_artifacts:
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
name: Build
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_wheels_macos:
|
|
||||||
name: Build wheels on macos-11
|
|
||||||
runs-on: macos-11
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Build wheels
|
|
||||||
uses: pypa/cibuildwheel@v2.16.4
|
|
||||||
env:
|
|
||||||
CIBW_ARCHS_MACOS: x86_64 arm64
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cibw-wheels-macos
|
|
||||||
path: ./wheelhouse/*.whl
|
|
||||||
@@ -16,13 +16,14 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-22.04, windows-2022, macos-11]
|
# macos-13 is an intel runner, macos-14 is apple silicon
|
||||||
|
os: [ubuntu-22.04, windows-2022, macos-13, macos-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
uses: pypa/cibuildwheel@v2.16.4
|
uses: pypa/cibuildwheel@v2.16.5
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -8,13 +8,14 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-2019, macos-11]
|
# macos-13 is an intel runner, macos-14 is apple silicon
|
||||||
|
os: [ubuntu-20.04, windows-2019, macos-13, macos-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
uses: pypa/cibuildwheel@v2.16.4
|
uses: pypa/cibuildwheel@v2.16.5
|
||||||
# env:
|
# env:
|
||||||
# CIBW_SOME_OPTION: value
|
# CIBW_SOME_OPTION: value
|
||||||
# ...
|
# ...
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, windows-2019, macos-11]
|
os: [ubuntu-20.04, windows-2019, macos-12, macos-14]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
platforms: all
|
platforms: all
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
uses: pypa/cibuildwheel@v2.16.4
|
uses: pypa/cibuildwheel@v2.16.5
|
||||||
env:
|
env:
|
||||||
# configure cibuildwheel to build native archs ('auto'), and some
|
# configure cibuildwheel to build native archs ('auto'), and some
|
||||||
# emulated ones
|
# emulated ones
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ linux:
|
|||||||
DOCKER_TLS_CERTDIR: ""
|
DOCKER_TLS_CERTDIR: ""
|
||||||
script:
|
script:
|
||||||
- curl -sSL https://get.docker.com/ | sh
|
- curl -sSL https://get.docker.com/ | sh
|
||||||
- python -m pip install cibuildwheel==2.16.4
|
- python -m pip install cibuildwheel==2.16.5
|
||||||
- cibuildwheel --output-dir wheelhouse
|
- cibuildwheel --output-dir wheelhouse
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
@@ -23,7 +23,7 @@ windows:
|
|||||||
before_script:
|
before_script:
|
||||||
- choco install python -y --version 3.8.6
|
- choco install python -y --version 3.8.6
|
||||||
- choco install git.install -y
|
- choco install git.install -y
|
||||||
- py -m pip install cibuildwheel==2.16.4
|
- py -m pip install cibuildwheel==2.16.5
|
||||||
script:
|
script:
|
||||||
- py -m cibuildwheel --output-dir wheelhouse --platform windows
|
- py -m cibuildwheel --output-dir wheelhouse --platform windows
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ linux:
|
|||||||
- curl -sSL https://get.docker.com/ | sh
|
- curl -sSL https://get.docker.com/ | sh
|
||||||
# Warning: This is extremely slow, be careful with how many wheels you build
|
# Warning: This is extremely slow, be careful with how many wheels you build
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||||
- python -m pip install cibuildwheel==2.16.4
|
- python -m pip install cibuildwheel==2.16.5
|
||||||
# Assuming your CI runner's default architecture is x86_64...
|
# Assuming your CI runner's default architecture is x86_64...
|
||||||
- cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64
|
- cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
- ln -s /c/Python38/python.exe /c/Python38/python3.exe
|
- ln -s /c/Python38/python.exe /c/Python38/python3.exe
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- python3 -m pip install cibuildwheel==2.16.4
|
- python3 -m pip install cibuildwheel==2.16.5
|
||||||
|
|
||||||
script:
|
script:
|
||||||
# build the wheels, put them into './dist'
|
# build the wheels, put them into './dist'
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
- ln -s /c/Python38/python.exe /c/Python38/python3.exe
|
- ln -s /c/Python38/python.exe /c/Python38/python3.exe
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- python3 -m pip install cibuildwheel==2.16.4
|
- python3 -m pip install cibuildwheel==2.16.5
|
||||||
|
|
||||||
script:
|
script:
|
||||||
# build the wheels, put them into './wheelhouse'
|
# build the wheels, put them into './wheelhouse'
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
- stage: deploy
|
- stage: deploy
|
||||||
name: Build and deploy Linux wheels
|
name: Build and deploy Linux wheels
|
||||||
services: docker
|
services: docker
|
||||||
install: python3 -m pip install cibuildwheel==2.16.4 twine
|
install: python3 -m pip install cibuildwheel==2.16.5 twine
|
||||||
script: python3 -m cibuildwheel --output-dir wheelhouse
|
script: python3 -m cibuildwheel --output-dir wheelhouse
|
||||||
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
|
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
|
||||||
# Deploy on windows
|
# Deploy on windows
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
name: Build and deploy Windows wheels
|
name: Build and deploy Windows wheels
|
||||||
os: windows
|
os: windows
|
||||||
language: shell
|
language: shell
|
||||||
install: python3 -m pip install cibuildwheel==2.16.4 twine
|
install: python3 -m pip install cibuildwheel==2.16.5 twine
|
||||||
script: python3 -m cibuildwheel --output-dir wheelhouse
|
script: python3 -m cibuildwheel --output-dir wheelhouse
|
||||||
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
|
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = cibuildwheel
|
name = cibuildwheel
|
||||||
version = 2.16.4
|
version = 2.16.5
|
||||||
description = Build Python wheels on CI with minimal configuration.
|
description = Build Python wheels on CI with minimal configuration.
|
||||||
long_description = file: README.md
|
long_description = file: README.md
|
||||||
long_description_content_type = text/markdown
|
long_description_content_type = text/markdown
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ def test_cross_compiled_test(tmp_path, capfd, build_universal2):
|
|||||||
assert "running tests on arm64" not in captured.out
|
assert "running tests on arm64" not in captured.out
|
||||||
if build_universal2:
|
if build_universal2:
|
||||||
assert (
|
assert (
|
||||||
"While universal2 wheels can be built on x86_64, the arm64 part of them cannot currently be tested"
|
"While universal2 wheels can be built on x86_64, the arm64 part of the wheel cannot be tested"
|
||||||
in captured.err
|
in captured.err
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@@ -95,7 +95,7 @@ def test_cross_compiled_test(tmp_path, capfd, build_universal2):
|
|||||||
assert "running tests on x86_64" in captured.out
|
assert "running tests on x86_64" in captured.out
|
||||||
assert "running tests on arm64" in captured.out
|
assert "running tests on arm64" in captured.out
|
||||||
assert (
|
assert (
|
||||||
"While universal2 wheels can be built on x86_64, the arm64 part of them cannot currently be tested"
|
"While universal2 wheels can be built on x86_64, the arm64 part of the wheel cannot be tested"
|
||||||
not in captured.err
|
not in captured.err
|
||||||
)
|
)
|
||||||
assert (
|
assert (
|
||||||
@@ -162,7 +162,7 @@ def test_universal2_testing(tmp_path, capfd, skip_arm64_test):
|
|||||||
assert "running tests on x86_64" in captured.out
|
assert "running tests on x86_64" in captured.out
|
||||||
assert "running tests on arm64" not in captured.out
|
assert "running tests on arm64" not in captured.out
|
||||||
|
|
||||||
warning_message = "While universal2 wheels can be built on x86_64, the arm64 part of them cannot currently be tested"
|
warning_message = "While universal2 wheels can be built on x86_64, the arm64 part of the wheel cannot be tested"
|
||||||
if skip_arm64_test:
|
if skip_arm64_test:
|
||||||
assert warning_message not in captured.err
|
assert warning_message not in captured.err
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user