-
-
Notifications
You must be signed in to change notification settings - Fork 231
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
But don't publish them yet
- Loading branch information
Showing
9 changed files
with
265 additions
and
14 deletions.
There are no files selected for viewing
This file contains 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,104 @@ | ||
version: 2.1 | ||
|
||
parameters: | ||
REF: | ||
type: string | ||
default: '' | ||
description: Optional tag to build | ||
|
||
jobs: | ||
arm-wheels: | ||
parameters: | ||
build: | ||
type: string | ||
image: | ||
type: string | ||
|
||
machine: | ||
image: ubuntu-2204:current | ||
resource_class: arm.medium # two vCPUs | ||
|
||
environment: | ||
CIBW_ARCHS: "aarch64" | ||
CIBW_MANYLINUX_AARCH64_IMAGE: "<< parameters.image >>" | ||
CIBW_MUSLLINUX_AARCH64_IMAGE: "<< parameters.image >>" | ||
CIBW_BUILD: "<< parameters.build >>" | ||
|
||
steps: | ||
- checkout | ||
- when: | ||
condition: << pipeline.parameters.REF >> | ||
steps: | ||
- run: | ||
name: Checkout branch/tag << pipeline.parameters.REF >> | ||
command: | | ||
echo "Switching to branch/tag << pipeline.parameters.REF >> if it exists" | ||
git checkout << pipeline.parameters.REF >> || true | ||
git pull origin << pipeline.parameters.REF >> || true | ||
- run: | ||
name: install cibuildwheel and other build reqs | ||
command: | | ||
python3 -m pip install --upgrade pip setuptools setuptools_scm[toml] | ||
python3 -m pip install -rcibw-requirements.txt | ||
- run: | ||
name: pip freeze | ||
command: | | ||
python3 -m pip freeze | ||
- run: | ||
name: list wheels | ||
command: | | ||
python3 -m cibuildwheel . --print-build-identifiers | ||
- run: | ||
name: cibuildwheel | ||
command: | | ||
python3 -m cibuildwheel . | ||
- store_test_results: | ||
path: test-results/ | ||
|
||
- store_artifacts: | ||
path: wheelhouse/ | ||
|
||
# - when: | ||
# condition: | ||
# or: | ||
# - matches: | ||
# pattern: ".+" | ||
# value: "<< pipeline.git.tag >>" | ||
# - << pipeline.parameters.REF >> | ||
# steps: | ||
# - run: | ||
# environment: | ||
# TWINE_NONINTERACTIVE: "1" | ||
# command: | | ||
# python3 -m pip install twine | ||
# python3 -m twine upload --verbose --skip-existing wheelhouse/* | ||
|
||
workflows: | ||
wheels: # This is the name of the workflow, feel free to change it to better match your workflow. | ||
# Inside the workflow, you define the jobs you want to run. | ||
jobs: | ||
- arm-wheels: | ||
name: arm-wheels-manylinux_2_28 | ||
filters: | ||
tags: | ||
only: /.*/ | ||
build: "*manylinux*" | ||
image: quay.io/pypa/manylinux_2_28_aarch64 | ||
- arm-wheels: | ||
name: arm-wheels-musllinux_1_1 | ||
filters: | ||
tags: | ||
only: /.*/ | ||
build: "*musllinux*" | ||
image: quay.io/pypa/musllinux_1_1_aarch64 | ||
- arm-wheels: | ||
name: arm-wheels-musllinux_1_2 | ||
filters: | ||
tags: | ||
only: /.*/ | ||
build: "*musllinux*" | ||
image: quay.io/pypa/musllinux_1_2_aarch64 |
This file contains 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 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,130 @@ | ||
name: Python package build and publish | ||
|
||
on: | ||
release: | ||
types: [published] | ||
workflow_dispatch: {} | ||
repository_dispatch: {} | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
concurrency: | ||
group: wheels-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build_wheels: | ||
name: ${{ matrix.image }} wheels | ||
runs-on: ubuntu-24.04 | ||
strategy: | ||
matrix: | ||
include: | ||
- image: manylinux_2_28_x86_64 | ||
build: "*manylinux*" | ||
- image: musllinux_1_1_x86_64 | ||
build: "*musllinux*" | ||
- image: musllinux_1_2_x86_64 | ||
build: "*musllinux*" | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name != 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name == 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
ref: ${{ github.event.client_payload.ref }} | ||
|
||
# - name: Set up QEMU | ||
# if: runner.os == 'Linux' | ||
# uses: docker/setup-qemu-action@v2 | ||
# with: | ||
# platforms: all | ||
|
||
- name: Build wheels | ||
uses: pypa/cibuildwheel@v2.21.3 | ||
env: | ||
CIBW_BUILD: ${{ matrix.build }} | ||
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/${{ matrix.image }} | ||
CIBW_MUSLLINUX_X86_64_IMAGE: quay.io/pypa/${{ matrix.image }} | ||
# configure cibuildwheel to build native 64-bit archs ('auto64'), and some | ||
# emulated ones | ||
# Linux arm64 wheels are built on circleci | ||
CIBW_ARCHS_LINUX: auto64 # ppc64le s390x | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: artifact-${{ matrix.image }} | ||
path: ./wheelhouse/*.whl | ||
|
||
build_sdist: | ||
name: Build source distribution | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name != 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name == 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
ref: ${{ github.event.client_payload.ref }} | ||
|
||
- name: Build sdist | ||
run: pipx run build --sdist | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: artifact-source | ||
path: dist/*.tar.gz | ||
|
||
build_wheels_macos: | ||
name: Build wheels on ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
# macos-13 is an intel runner, macos-14 is apple silicon | ||
os: [macos-13, macos-14] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name != 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
- uses: actions/checkout@v4 | ||
if: ${{ github.event_name == 'repository_dispatch' }} | ||
with: | ||
fetch-depth: 0 # slow, but gets all the tags | ||
ref: ${{ github.event.client_payload.ref }} | ||
|
||
- name: Build wheels | ||
uses: pypa/cibuildwheel@v2.21.3 | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: artifact-${{ matrix.os }}-${{ strategy.job-index }} | ||
path: ./wheelhouse/*.whl | ||
|
||
# upload_pypi: | ||
# needs: [build_wheels, build_sdist] | ||
# runs-on: ubuntu-24.04 | ||
# environment: deploy | ||
# permissions: | ||
# id-token: write | ||
# if: (github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'repository_dispatch' && github.event.client_payload.publish_wheel == true) | ||
# steps: | ||
# - uses: actions/download-artifact@v4 | ||
# with: | ||
# # unpacks default artifact into dist/ | ||
# pattern: artifact-* | ||
# merge-multiple: true | ||
# path: dist | ||
|
||
# - name: Publish package distributions to PyPI | ||
# uses: pypa/gh-action-pypi-publish@release/v1 | ||
# with: | ||
# skip-existing: true |
This file contains 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 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 @@ | ||
cibuildwheel==2.21.3 |
This file contains 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 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 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 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