From 6bb847b2602b55fcdd7c2ac5d8bacecfe87f2568 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Mon, 4 Apr 2022 17:15:14 -0700 Subject: [PATCH 01/11] WIP --- .github/workflows/wheels.yml | 78 +++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 9 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index aed8f8e8..0602ae7e 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -2,12 +2,12 @@ name: wheels on: push: - branches: [master] - pull_request: - branches: [master] - release: - types: - - published + # branches: [master] + # pull_request: + # branches: [master] + # release: + # types: + # - published jobs: @@ -31,7 +31,67 @@ jobs: path: ./dist - make_wheels: + make_cibw_v1_wheels: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + # Only build for platforms that cibw v2 doesn't support + include: + - os: macos-latest + build: "cp27-macosx_x86_64" + name: macOS Intel + - os: windows-latest + build: "cp27-win_amd64" + name: Windows 64-bit + - os: ubuntu-latest + build: "cp27-manylinux_x86_64" + name: Linux Intel 64-bit + + steps: + + - uses: actions/checkout@v2 + with: + submodules: recursive + + ## Setup Env + + - uses: ilammy/msvc-dev-cmd@v1.10.0 + if: runner.os == 'Windows' + + - name: Set Windows variables + if: runner.os == 'Windows' + shell: bash + run: | + echo "CC=cl.exe" >> $GITHUB_ENV + echo "CXX=cl.exe" >> $GITHUB_ENV + + - name: Set up QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: aarch64 + + ## Build + + - uses: pypa/cibuildwheel@v1.11.1 + env: + CIBW_TEST_REQUIRES: pytest numpy + CIBW_TEST_COMMAND: pytest {project}/tests + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BUILD: ${{ matrix.build }} + CIBW_SKIP: ${{ matrix.skip }} + + - name: Check with Twine + run: | + pipx run twine check wheelhouse/* + + - name: Upload artifacts to GitHub + uses: actions/upload-artifact@v2 + with: + path: wheelhouse/*.whl + + make_cibw_v2_wheels: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: @@ -86,7 +146,7 @@ jobs: ## Build - - uses: pypa/cibuildwheel@v1.11.1 + - uses: pypa/cibuildwheel@v2.4.0 env: CIBW_TEST_REQUIRES: pytest numpy CIBW_TEST_COMMAND: pytest {project}/tests @@ -104,7 +164,7 @@ jobs: path: wheelhouse/*.whl upload_all: - needs: [make_sdist, make_wheels] + needs: [make_sdist, make_cibw_v1_wheels, make_cibw_v2_wheels] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' From 413f387c6286dc56707332c1838491016913e916 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Mon, 4 Apr 2022 17:20:46 -0700 Subject: [PATCH 02/11] Turn off other ci jobs for now --- .github/workflows/coverage-lint.yml | 10 +++++----- .github/workflows/deploy_docs.yml | 8 ++++---- .github/workflows/tests.yml | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/coverage-lint.yml b/.github/workflows/coverage-lint.yml index e8cf87cf..2906cad6 100644 --- a/.github/workflows/coverage-lint.yml +++ b/.github/workflows/coverage-lint.yml @@ -1,10 +1,10 @@ name: coverage-lint -on: - push: - branches: [master] - pull_request: - branches: [master] +# on: +# push: +# branches: [master] +# pull_request: +# branches: [master] jobs: tests: diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 238a1a1c..15251bb7 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -2,10 +2,10 @@ name: deploy_docs # todo: we want to build on PRs, but keep it from pushing to deploy... -on: - push: - branches: - - master +# on: +# push: +# branches: +# - master # This job installs dependencies, builds the book, and pushes it to `gh-pages` jobs: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f1abcdba..78ee7a13 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,10 +1,10 @@ name: tests -on: - push: - branches: [master] - pull_request: - branches: [master] +# on: +# push: +# branches: [master] +# pull_request: +# branches: [master] jobs: tests: From 3b2c2727e3fa52f49470d9df96ef9edbd60d9839 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Mon, 4 Apr 2022 17:21:03 -0700 Subject: [PATCH 03/11] Remove skip of 3.5 since cibw2 doesn't support 3.5 --- .github/workflows/wheels.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 0602ae7e..e991c434 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -102,7 +102,6 @@ jobs: name: macOS Intel - os: windows-latest build: "cp3*-win_amd64" - skip: "cp35-win_amd64" name: Windows 64-bit - os: ubuntu-latest build: "cp*-manylinux_x86_64" From 479adf7b0f0330e68e66bad8b65baa8a548ad1e7 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Mon, 4 Apr 2022 17:50:17 -0700 Subject: [PATCH 04/11] Turn off fail-fast --- .github/workflows/wheels.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index e991c434..8f769583 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -35,6 +35,7 @@ jobs: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: # Only build for platforms that cibw v2 doesn't support include: @@ -74,7 +75,7 @@ jobs: ## Build - - uses: pypa/cibuildwheel@v1.11.1 + - uses: pypa/cibuildwheel@v1.12.0 env: CIBW_TEST_REQUIRES: pytest numpy CIBW_TEST_COMMAND: pytest {project}/tests @@ -95,6 +96,7 @@ jobs: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: include: - os: macos-latest From f5837cf7a88107e503d1693d59d4112b6c472c97 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Mon, 4 Apr 2022 17:54:13 -0700 Subject: [PATCH 05/11] More descriptive job names --- .github/workflows/wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 8f769583..4cedc170 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -32,7 +32,7 @@ jobs: make_cibw_v1_wheels: - name: ${{ matrix.name }} + name: "cibuildwheel v1: ${{ matrix.name }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -93,7 +93,7 @@ jobs: path: wheelhouse/*.whl make_cibw_v2_wheels: - name: ${{ matrix.name }} + name: "cibuildwheel v2: ${{ matrix.name }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false From cb76f69be45c86a2e46cf7904f48ceb22cc3e81c Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Tue, 5 Apr 2022 10:07:24 -0600 Subject: [PATCH 06/11] Revert commented out sections --- .github/workflows/coverage-lint.yml | 10 +++++----- .github/workflows/deploy_docs.yml | 8 ++++---- .github/workflows/tests.yml | 10 +++++----- .github/workflows/wheels.yml | 12 ++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/coverage-lint.yml b/.github/workflows/coverage-lint.yml index 2906cad6..e8cf87cf 100644 --- a/.github/workflows/coverage-lint.yml +++ b/.github/workflows/coverage-lint.yml @@ -1,10 +1,10 @@ name: coverage-lint -# on: -# push: -# branches: [master] -# pull_request: -# branches: [master] +on: + push: + branches: [master] + pull_request: + branches: [master] jobs: tests: diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 15251bb7..238a1a1c 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -2,10 +2,10 @@ name: deploy_docs # todo: we want to build on PRs, but keep it from pushing to deploy... -# on: -# push: -# branches: -# - master +on: + push: + branches: + - master # This job installs dependencies, builds the book, and pushes it to `gh-pages` jobs: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 78ee7a13..f1abcdba 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,10 +1,10 @@ name: tests -# on: -# push: -# branches: [master] -# pull_request: -# branches: [master] +on: + push: + branches: [master] + pull_request: + branches: [master] jobs: tests: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 4cedc170..39607d8a 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -2,12 +2,12 @@ name: wheels on: push: - # branches: [master] - # pull_request: - # branches: [master] - # release: - # types: - # - published + branches: [master] + pull_request: + branches: [master] + release: + types: + - published jobs: From b6ee3d64994494a5f09c68e9e5fbc6364a1241cd Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Tue, 5 Apr 2022 10:10:37 -0600 Subject: [PATCH 07/11] Remove qemu setup on cibw v1 --- .github/workflows/wheels.yml | 74 +++++++++++++++--------------------- 1 file changed, 30 insertions(+), 44 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 39607d8a..e1c0eeae 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -9,14 +9,12 @@ on: types: - published - jobs: make_sdist: name: SDist runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 with: submodules: recursive @@ -30,7 +28,6 @@ jobs: with: path: ./dist - make_cibw_v1_wheels: name: "cibuildwheel v1: ${{ matrix.name }}" runs-on: ${{ matrix.os }} @@ -39,18 +36,17 @@ jobs: matrix: # Only build for platforms that cibw v2 doesn't support include: - - os: macos-latest - build: "cp27-macosx_x86_64" - name: macOS Intel - - os: windows-latest - build: "cp27-win_amd64" - name: Windows 64-bit - - os: ubuntu-latest - build: "cp27-manylinux_x86_64" - name: Linux Intel 64-bit + - os: macos-latest + build: "cp27-macosx_x86_64" + name: macOS Intel + - os: windows-latest + build: "cp27-win_amd64" + name: Windows 64-bit + - os: ubuntu-latest + build: "cp27-manylinux_x86_64" + name: Linux Intel 64-bit steps: - - uses: actions/checkout@v2 with: submodules: recursive @@ -67,12 +63,6 @@ jobs: echo "CC=cl.exe" >> $GITHUB_ENV echo "CXX=cl.exe" >> $GITHUB_ENV - - name: Set up QEMU - if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: aarch64 - ## Build - uses: pypa/cibuildwheel@v1.12.0 @@ -81,7 +71,6 @@ jobs: CIBW_TEST_COMMAND: pytest {project}/tests CIBW_ARCHS_LINUX: auto aarch64 CIBW_BUILD: ${{ matrix.build }} - CIBW_SKIP: ${{ matrix.skip }} - name: Check with Twine run: | @@ -99,30 +88,29 @@ jobs: fail-fast: false matrix: include: - - os: macos-latest - build: "cp*-macosx_x86_64" - name: macOS Intel - - os: windows-latest - build: "cp3*-win_amd64" - name: Windows 64-bit - - os: ubuntu-latest - build: "cp*-manylinux_x86_64" - name: Linux Intel 64-bit - - os: ubuntu-latest - build: "cp36-manylinux_aarch64" - name: Linux Aarch64 3.6 - - os: ubuntu-latest - build: "cp37-manylinux_aarch64" - name: Linux Aarch64 3.7 - - os: ubuntu-latest - build: "cp38-manylinux_aarch64" - name: Linux Aarch64 3.8 - - os: ubuntu-latest - build: "cp39-manylinux_aarch64" - name: Linux Aarch64 3.9 + - os: macos-latest + build: "cp*-macosx_x86_64" + name: macOS Intel + - os: windows-latest + build: "cp3*-win_amd64" + name: Windows 64-bit + - os: ubuntu-latest + build: "cp*-manylinux_x86_64" + name: Linux Intel 64-bit + - os: ubuntu-latest + build: "cp36-manylinux_aarch64" + name: Linux Aarch64 3.6 + - os: ubuntu-latest + build: "cp37-manylinux_aarch64" + name: Linux Aarch64 3.7 + - os: ubuntu-latest + build: "cp38-manylinux_aarch64" + name: Linux Aarch64 3.8 + - os: ubuntu-latest + build: "cp39-manylinux_aarch64" + name: Linux Aarch64 3.9 steps: - - uses: actions/checkout@v2 with: submodules: recursive @@ -178,5 +166,3 @@ jobs: - uses: pypa/gh-action-pypi-publish@v1.4.2 with: password: ${{ secrets.pypi_password }} - - From 10637116a610e5de64e730416e0f717b171ad95b Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Tue, 5 Apr 2022 10:29:21 -0600 Subject: [PATCH 08/11] Remove windows for cibw v1 --- .github/workflows/wheels.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index e1c0eeae..ede420b0 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -39,9 +39,6 @@ jobs: - os: macos-latest build: "cp27-macosx_x86_64" name: macOS Intel - - os: windows-latest - build: "cp27-win_amd64" - name: Windows 64-bit - os: ubuntu-latest build: "cp27-manylinux_x86_64" name: Linux Intel 64-bit @@ -51,18 +48,6 @@ jobs: with: submodules: recursive - ## Setup Env - - - uses: ilammy/msvc-dev-cmd@v1.10.0 - if: runner.os == 'Windows' - - - name: Set Windows variables - if: runner.os == 'Windows' - shell: bash - run: | - echo "CC=cl.exe" >> $GITHUB_ENV - echo "CXX=cl.exe" >> $GITHUB_ENV - ## Build - uses: pypa/cibuildwheel@v1.12.0 From 46ae648668b88e22fbb8395cbd21a80f86eb6a54 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Fri, 8 Apr 2022 10:52:59 -0600 Subject: [PATCH 09/11] Test apple silicon cibw wheels --- .github/workflows/wheels.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index ede420b0..cab88f42 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -2,12 +2,12 @@ name: wheels on: push: - branches: [master] - pull_request: - branches: [master] - release: - types: - - published + # branches: [master] + # pull_request: + # branches: [master] + # release: + # types: + # - published jobs: make_sdist: @@ -74,7 +74,7 @@ jobs: matrix: include: - os: macos-latest - build: "cp*-macosx_x86_64" + build: "cp*-macosx*" name: macOS Intel - os: windows-latest build: "cp3*-win_amd64" @@ -125,6 +125,7 @@ jobs: CIBW_TEST_REQUIRES: pytest numpy CIBW_TEST_COMMAND: pytest {project}/tests CIBW_ARCHS_LINUX: auto aarch64 + CIBW_ARCHS_MACOS: x86_64 arm64 CIBW_BUILD: ${{ matrix.build }} CIBW_SKIP: ${{ matrix.skip }} From 845cbaff8eced409c55a7eb9f2d575908dfe28bb Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Fri, 8 Apr 2022 11:18:45 -0600 Subject: [PATCH 10/11] Better ci wheels title --- .github/workflows/wheels.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index cab88f42..378c49c3 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -2,12 +2,12 @@ name: wheels on: push: - # branches: [master] - # pull_request: - # branches: [master] - # release: - # types: - # - published + branches: [master] + pull_request: + branches: [master] + release: + types: + - published jobs: make_sdist: @@ -75,7 +75,7 @@ jobs: include: - os: macos-latest build: "cp*-macosx*" - name: macOS Intel + name: macOS - os: windows-latest build: "cp3*-win_amd64" name: Windows 64-bit From a3eb23efab8134a61dafae2d67621fcbf8e0fe14 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Sun, 10 Apr 2022 22:56:39 -0600 Subject: [PATCH 11/11] Remove fail-fast: false --- .github/workflows/wheels.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 4c64cbc7..63899739 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -32,7 +32,6 @@ jobs: name: "cibuildwheel v1: ${{ matrix.name }}" runs-on: ${{ matrix.os }} strategy: - fail-fast: false matrix: # Only build for platforms that cibw v2 doesn't support include: