From bfcdc57ca77a1edea28a50f25f7719ac0a40831d Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Wed, 7 Jun 2023 07:40:05 -0400 Subject: [PATCH] [DNM] Retrigger linux x86 wheel builds This commit retriggers the failed linux x86 wheel build job. The issue with the job was it builds x86_64 and i686. The rustworkx tests in 0.13.0 added the use of scipy (to test pagerank) and scipy doesn't support i686 with newer python versions which caused the overall job to fail. This commit manually retriggers the build without installing scipy (so those tests will be skipped). --- .github/workflows/wheels.yml | 298 +---------------------------------- 1 file changed, 4 insertions(+), 294 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index b94893ecd4..2dbc4267df 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -2,25 +2,12 @@ name: Wheel Builds on: push: - tags: - - '*' + branches: [ 'retrigger-wheel-builds' ] jobs: - rustworkx-core: - name: Publish rustworkx-core - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - - name: Run cargo publish - run: | - cd rustworkx-core - cargo publish - env: - CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} sdist: name: Build sdist runs-on: ubuntu-latest - needs: ["build_wheels", "build-win32-wheels"] + needs: ["build_wheels"] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 @@ -40,44 +27,6 @@ jobs: TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} TWINE_USERNAME: retworkx-ci build_wheels: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - - uses: dtolnay/rust-toolchain@stable - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin"' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest - CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest - CIBW_SKIP: cp36-* pp* *win32 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx scipy testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build_wheels_aarch64: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -91,10 +40,6 @@ jobs: with: python-version: '3.7' - uses: dtolnay/rust-toolchain@stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - with: - platforms: all - name: Install cibuildwheel run: | python -m pip install cibuildwheel==2.10.1 twine @@ -103,247 +48,12 @@ jobs: python -m cibuildwheel --output-dir wheelhouse env: CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"' + CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin"' CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest CIBW_SKIP: cp36-* pp* *win32 *musl* CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx scipy testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - CIBW_ARCHS_LINUX: aarch64 - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build_wheels_ppc64le: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - - uses: dtolnay/rust-toolchain@stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - with: - platforms: all - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest - CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest - CIBW_SKIP: cp36-* cp39-* cp310-* pp* *win32 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - CIBW_ARCHS_LINUX: ppc64le - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build_wheels_ppc64le_part2: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - - uses: dtolnay/rust-toolchain@stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - with: - platforms: all - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest - CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest - CIBW_SKIP: cp36-* cp37-* cp38-* pp* *win32 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - CIBW_ARCHS_LINUX: ppc64le - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build_wheels_s390x: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - - uses: dtolnay/rust-toolchain@stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - with: - platforms: all - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest - CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest - CIBW_SKIP: cp36-* cp39-* cp310-* pp* *win32 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - CIBW_ARCHS_LINUX: s390x - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build_wheels_s390x_part2: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - - uses: dtolnay/rust-toolchain@stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - with: - platforms: all - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_BEFORE_ALL_LINUX: "yum install -y wget && {package}/tools/install_rust.sh" - CIBW_ENVIRONMENT_LINUX: 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest - CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest - CIBW_SKIP: cp36-* cp37-* cp38-* pp* *win32 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_TEST_REQUIRES: networkx testtools fixtures - CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - CIBW_ARCHS_LINUX: s390x - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build-mac-arm-wheels: - name: Build wheels on macos for arm and universal2 - runs-on: macos-10.15 - steps: - - uses: actions/checkout@v3 - - name: Build wheels - uses: joerick/cibuildwheel@v2.10.1 - env: - CIBW_BEFORE_ALL: rustup target add aarch64-apple-darwin - CIBW_ARCHS_MACOS: arm64 universal2 - CIBW_BEFORE_BUILD: pip install -U setuptools-rust - CIBW_ENVIRONMENT: CARGO_BUILD_TARGET="aarch64-apple-darwin" PYO3_CROSS_LIB_DIR="/Library/Frameworks/Python.framework/Versions/$(python -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))')/lib/python$(python -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))')" - - uses: actions/upload-artifact@v3 - with: - path: ./wheelhouse/*.whl - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.8' - - name: Install twine - run: | - python -m pip install twine - - name: Upload to PyPI - run: twine upload ./wheelhouse/*.whl - env: - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - TWINE_USERNAME: retworkx-ci - build-win32-wheels: - name: Build wheels on win32 - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - name: Install Python - with: - python-version: '3.7' - architecture: 'x86' - - uses: dtolnay/rust-toolchain@stable - with: - targets: i686-pc-windows-msvc - - name: Force win32 rust - run: rustup default stable-i686-pc-windows-msvc - - name: Install cibuildwheel - run: | - python -m pip install cibuildwheel==2.10.1 twine - - name: Build wheels - run: | - python -m cibuildwheel --output-dir wheelhouse - env: - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 - CIBW_SKIP: cp36-* pp* *amd64 *musl* - CIBW_BEFORE_BUILD: pip install -U setuptools-rust CIBW_TEST_REQUIRES: networkx testtools fixtures CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests - uses: actions/upload-artifact@v3 @@ -357,7 +67,7 @@ jobs: retworkx-compat-build: name: Build retworkx runs-on: ubuntu-latest - needs: ["build_wheels", "build-win32-wheels"] + needs: ["build_wheels"] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4