From 26fd312d487d5ce7a271e36a5a89b5ac8caef309 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 19 Sep 2021 14:10:59 +0200 Subject: [PATCH 1/3] fix(CI): build error is not reported on TravisCI --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index d67c2d100..97e68d478 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ install: script: - | + set -e cibuildwheel --output-dir dist ls dist twine --version From 196e27f158c52924f3b78af312dc8ef6661f5380 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 19 Sep 2021 14:21:04 +0200 Subject: [PATCH 2/3] fix(CI): do not run test_distribution for built wheels cibuildwheel already install the wheel before running tests. Running test_distribution is thus not necessary in this case. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 37b9a89a8..1f4435f55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ before-all = [ before-build = "pip install -r requirements-repair.txt" repair-wheel-command = "python scripts/repair_wheel.py -w {dest_dir} {wheel}" test-extras = "test" -test-command = "pytest {project}/tests" +test-command = "pytest --ignore={project}/tests/test_distribution.py {project}/tests" build-verbosity = "1" [tool.cibuildwheel.linux] From 092f2fe7795ca1df3433dad9166bf4e570ef8d89 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 19 Sep 2021 13:10:38 +0200 Subject: [PATCH 3/3] feat: build musllinux_1_1 wheels --- .github/workflows/build.yml | 29 ++++++++++++++++++++++++++--- .travis.yml | 2 +- pyproject.toml | 2 -- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9754a7b0..06ff7450a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: build_wheels: - name: Build ${{ matrix.arch }} wheels on ${{ matrix.os }} + name: Build ${{ matrix.build }}${{ matrix.arch }} wheels on ${{ matrix.os }} needs: [lint] runs-on: ${{ matrix.os }} strategy: @@ -40,27 +40,47 @@ jobs: include: - os: ubuntu-20.04 arch: "x86_64" + build: "" use_qemu: false - os: ubuntu-20.04 arch: "i686" + build: "" use_qemu: false - os: ubuntu-20.04 arch: "aarch64" + build: "manylinux_" + use_qemu: true + - os: ubuntu-20.04 + arch: "aarch64" + build: "musllinux_" use_qemu: true - os: ubuntu-20.04 arch: "ppc64le" + build: "manylinux_" + use_qemu: true + - os: ubuntu-20.04 + arch: "ppc64le" + build: "musllinux_" + use_qemu: true + - os: ubuntu-20.04 + arch: "s390x" + build: "manylinux_" use_qemu: true - os: ubuntu-20.04 arch: "s390x" + build: "musllinux_" use_qemu: true - os: windows-2019 arch: "AMD64" + build: "" use_qemu: false - os: windows-2019 arch: "x86" + build: "" use_qemu: false - os: macos-10.15 arch: "x86_64" + build: "" use_qemu: false steps: @@ -74,10 +94,11 @@ jobs: if: matrix.use_qemu && fromJSON(env.USE_QEMU) - name: Build wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.2.0a1 if: (!matrix.use_qemu) || fromJSON(env.USE_QEMU) env: CIBW_ARCHS: "${{ matrix.arch }}" + CIBW_BUILD: "cp39-${{ matrix.build }}*" - uses: actions/upload-artifact@v2 if: (!matrix.use_qemu) || fromJSON(env.USE_QEMU) @@ -101,9 +122,11 @@ jobs: fetch-depth: 0 # required for versioneer to find tags - name: Build wheels - uses: pypa/cibuildwheel@v2.0.1 + uses: pypa/cibuildwheel@v2.2.0a1 env: CIBW_ARCHS: "${{ matrix.arch }}" + CIBW_BEFORE_ALL: "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" cmake && pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" ninja && ./scripts/manylinux-build-and-install-openssl.sh" + CIBW_BUILD: "cp39-manylinux_*" CIBW_MANYLINUX_X86_64_IMAGE: "manylinux1" CIBW_MANYLINUX_I686_IMAGE: "manylinux1" diff --git a/.travis.yml b/.travis.yml index 97e68d478..6f2f9c1c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ matrix: - arch: s390x install: - - python -m pip install cibuildwheel==2.1.1 + - python -m pip install cibuildwheel==2.2.0a1 - python -m pip install -r requirements-deploy.txt script: diff --git a/pyproject.toml b/pyproject.toml index 1f4435f55..f32d569b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,8 +22,6 @@ build-verbosity = "1" [tool.cibuildwheel.linux] before-all = [ - "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" cmake", - "cmake --version", "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" ninja", "ninja --version", "./scripts/manylinux-build-and-install-openssl.sh",