Skip to content

Commit

Permalink
Move cibuildwheel config to pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
jimisola committed Jan 11, 2024
1 parent 4a99e54 commit d371d33
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 16 deletions.
79 changes: 79 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Tests

on:
pull_request:
push:
paths-ignore:
- '**.rst'

jobs:
x86_64:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-22.04
python-version: 3.8
- os: ubuntu-22.04
python-version: '3.12'
- os: ubuntu-22.04
python-version: 'pypy3.9'
- os: macos-latest
python-version: 3.8

steps:
- name: Checkout pygit2
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Linux
if: runner.os == 'Linux'
run: |
sudo apt install tinyproxy
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.7.1 /bin/sh build.sh test
- name: macOS
if: runner.os == 'macOS'
run: |
export OPENSSL_PREFIX=`brew --prefix [email protected]`
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.7.1 /bin/sh build.sh test
aarch64:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build & test
uses: uraimo/run-on-arch-action@v2
with:
arch: aarch64
distro: ubuntu20.04
install: |
apt-get update -q -y
apt-get install -q -y cmake libssl-dev python3-dev python3-venv wget
run: |
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.7.1 /bin/sh build.sh test
s390x:
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build & test
uses: uraimo/run-on-arch-action@v2
with:
arch: s390x
distro: ubuntu20.04
install: |
apt-get update -q -y
apt-get install -q -y cmake libssl-dev python3-dev python3-venv wget
run: |
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.7.1 /bin/sh build.sh test
continue-on-error: true # Tests are expected to fail, see issue #812
19 changes: 3 additions & 16 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- master
- musl
tags:
- 'v*'

Expand All @@ -14,7 +13,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04] #, macos-latest]
os: [ubuntu-22.04, macos-latest]

steps:
- uses: actions/checkout@v3
Expand All @@ -31,20 +30,7 @@ jobs:

- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BEFORE_ALL: sh build.sh
CIBW_ENVIRONMENT: LIBGIT2_VERSION=1.7.1 LIBSSH2_VERSION=1.11.0 OPENSSL_VERSION=3.1.3 LIBGIT2=/project/ci
CIBW_ENVIRONMENT_MACOS: LIBGIT2_VERSION=1.7.1 LIBSSH2_VERSION=1.11.0 OPENSSL_VERSION=3.1.3 LIBGIT2=/Users/runner/work/pygit2/pygit2/ci
CIBW_SKIP: "pp3* *manylinux* cp36* cp37* cp38* cp39* cp310* cp311*"
CIBW_BUILD: "cp312-musllinux_x86_64"
CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux2014"
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2014"
#CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH=/project/ci/lib64 auditwheel repair -w {dest_dir} {wheel}"
CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH=/project/ci/lib auditwheel repair -w {dest_dir} {wheel}"
CIBW_REPAIR_WHEEL_COMMAND_MACOS: "DYLD_LIBRARY_PATH=/Users/runner/work/pygit2/pygit2/ci/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}"
CIBW_ARCHS_MACOS: universal2
CIBW_ARCHS_LINUX: x86_64 # aarch64


- uses: actions/upload-artifact@v3
with:
name: wheels
Expand All @@ -68,3 +54,4 @@ jobs:
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}

23 changes: 23 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,25 @@
[build-system]
requires = ["setuptools", "wheel"]

[tool.cibuildwheel]
skip = "pp3*"

archs = ["auto"]
build-frontend = "default"
dependency-versions = "pinned"
environment = {LIBGIT2_VERSION="1.7.1", LIBSSH2_VERSION="1.11.0", OPENSSL_VERSION="3.1.3", LIBGIT2="/project/ci"}

before-all = "sh build.sh"

[tool.cibuildwheel.linux]
repair-wheel-command = "LD_LIBRARY_PATH=/project/ci/lib64 auditwheel repair -w {dest_dir} {wheel}"
archs = ["x86_64", "aarch64"]

[[tool.cibuildwheel.overrides]]
select = "*-musllinux*"
repair-wheel-command = "LD_LIBRARY_PATH=/project/ci/lib auditwheel repair -w {dest_dir} {wheel}"

[tool.cibuildwheel.macos]
environment = {LIBGIT2_VERSION="1.7.1", LIBSSH2_VERSION="1.11.0", OPENSSL_VERSION="3.1.3", LIBGIT2="/Users/runner/work/pygit2/pygit2/ci"}
repair-wheel-command = "DYLD_LIBRARY_PATH=/Users/runner/work/pygit2/pygit2/ci/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}"
archs = ["universal2"]

0 comments on commit d371d33

Please sign in to comment.