Compare commits

..

2 commits

2 changed files with 27 additions and 32 deletions

View file

@ -22,7 +22,7 @@ jobs:
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.8' python-version: '3.12'
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install build twine python -m pip install build twine
@ -32,6 +32,7 @@ jobs:
- name: Put SDist in artifact container - name: Put SDist in artifact container
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: cibw-sdist
path: dist/*.tar.gz path: dist/*.tar.gz
- name: Check SDist metadata - name: Check SDist metadata
run: | run: |
@ -42,33 +43,18 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest] os: [ubuntu-latest, windows-latest, macos-13, macos-14]
bitness: [32, 64]
python: ["3.8", "3.9", "3.10", "3.11", "3.12"] python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
include:
- os: windows-latest
bitness: 64
platform_id: win_amd64
- os: windows-latest
bitness: 32
platform_id: win32
- os: ubuntu-latest
bitness: 64
platform_id: manylinux_x86_64
- os: ubuntu-latest
bitness: 32
platform_id: manylinux_i686
- os: macos-latest
bitness: 64
platform_id: macosx_x86_64
exclude:
- os: macos-latest
bitness: 32
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
submodules: recursive submodules: recursive
- name: Set up QEMU on Linux images
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Get Python Version Name - name: Get Python Version Name
uses: mad9000/actions-find-and-replace-string@5 uses: mad9000/actions-find-and-replace-string@5
id: pythonversion id: pythonversion
@ -76,27 +62,36 @@ jobs:
source: ${{ matrix.python }} source: ${{ matrix.python }}
find: '.' find: '.'
replace: '' replace: ''
- name: "Install Python 3.8 universal2 on macOS arm64"
if: runner.os == 'macOS' && runner.arch == 'arm64'
uses: actions/setup-python@v5
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
with:
python-version: 3.8
- name: Build wheels - name: Build wheels
uses: joerick/cibuildwheel@v2.20.0 uses: joerick/cibuildwheel@v2.20.0
env: env:
CIBW_BUILD: cp${{ steps.pythonversion.outputs.value }}-${{ matrix.platform_id }} CIBW_BUILD: "cp${{ steps.pythonversion.outputs.value }}-*"
CIBW_ENVIRONMENT: "SETUPTOOLS_SCM_PRETEND_VERSION=${{ github.event.inputs.overrideVersion }}" CIBW_ENVIRONMENT: "SETUPTOOLS_SCM_PRETEND_VERSION=${{ github.event.inputs.overrideVersion }}"
- name: Upload wheels to artifact container - name: Upload wheels to artifact container
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: wheelhouse/*.whl path: wheelhouse/*.whl
upload_all: upload_all:
needs: [build_wheels, make_sdist] needs: [build_wheels, make_sdist]
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps: steps:
- name: Get SDist and wheels from artifact container - name: Get SDist and wheels from artifact container
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: artifact pattern: cibw-*
path: dist path: dist
- name: Publish wheels to Test PyPI merge-multiple: true
uses: pypa/gh-action-pypi-publish@v1.10.1 - name: Publish wheels to PyPI
with: uses: pypa/gh-action-pypi-publish@release/v1
user: ${{ secrets.PYPI_USERNAME }}
password: ${{ secrets.PYPI_PASSWORD }}

View file

@ -16,9 +16,9 @@ before-test = "yum -y install libsndfile"
[tool.cibuildwheel.macos] [tool.cibuildwheel.macos]
before-test = "brew install libsndfile" before-test = "brew install libsndfile"
#[tool.cibuildwheel.windows] # Will re-enable Windows ARM64 once libebur128 pull request #131 is merged.
# Will re-enable ARM64 once libebur128 pull request #131 is merged.
# https://github.com/jiixyj/libebur128/pull/131 # https://github.com/jiixyj/libebur128/pull/131
#[tool.cibuildwheel.windows]
#archs = ['auto', 'ARM64'] #archs = ['auto', 'ARM64']
[[tool.cibuildwheel.overrides]] [[tool.cibuildwheel.overrides]]
@ -32,7 +32,7 @@ before-test = [
'apk add libsndfile', 'apk add libsndfile',
'pip install soundfile', 'pip install soundfile',
'PYVER=`python -c "import sys; print(\".\".join(map(str, sys.version_info[:2])))"`', 'PYVER=`python -c "import sys; print(\".\".join(map(str, sys.version_info[:2])))"`',
'sed -i "192b1; b ;:1;s/_explicit_libname/\"\/usr\/lib\/libsndfile.so.1.0.37\"/g" $VIRTUAL_ENV/lib/python$PYVER/site-packages/soundfile.py', 'sed -i "192b1; b ;:1;s/_explicit_libname/\"\/usr\/lib\/libsndfile.so.1\"/g" $VIRTUAL_ENV/lib/python$PYVER/site-packages/soundfile.py',
] ]
[tool.pytest.ini_options] [tool.pytest.ini_options]