diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index ac542bf2ab77..17f74ebdf4f9 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -7,6 +7,10 @@ on: - v[0-9]+.[0-9]+.x tags: - v* + schedule: + # every Sunday at midnight, builds master and uploads to + # https://anaconda.org/scipy-wheels-nightly/ + - cron: '0 0 * * 0' jobs: build_wheels: @@ -15,6 +19,7 @@ jobs: strategy: matrix: os: [ubuntu-18.04, windows-latest, macos-latest] + steps: - uses: actions/checkout@v2 @@ -39,8 +44,8 @@ jobs: python -m cibuildwheel --output-dir dist env: CIBW_BUILD: "cp39-*" - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 + CIBW_MANYLINUX_I686_IMAGE: manylinux2010 CIBW_BEFORE_BUILD: pip install certifi numpy==1.19.3 MPL_DISABLE_FH4: "yes" @@ -68,16 +73,14 @@ jobs: startsWith(github.ref, 'refs/heads/v3.3') || startsWith(github.ref, 'refs/tags/v3.3') - - name: Build wheels for PyPy + - name: Build wheels for PyPy3.7 run: | python -m cibuildwheel --output-dir dist env: - CIBW_BUILD: "pp3?-*" + CIBW_BUILD: "pp37-*" CIBW_BEFORE_BUILD: pip install certifi numpy==1.16 - if: > - runner.os != 'Windows' && ( - startsWith(github.ref, 'refs/heads/v3.3') || - startsWith(github.ref, 'refs/tags/v3.3') ) + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 + CIBW_MANYLINUX_I686_IMAGE: manylinux2010 - name: Validate that LICENSE files are included in wheels run: | @@ -87,3 +90,20 @@ jobs: with: name: wheels path: ./dist/*.whl + + - name: Set token + if: github.event_name == "schedule" + run: | + echo "TOKEN=${{ secrets.SCIPY_WHEELS_NIGHTLY_ACCESS }}" >> $GITHUB_ENV; + echo "ANACONDA_ORG=https://anaconda.org/scipy-wheels-nightly" >> $GITHUB_ENV; + + - name: Upload weekly wheels + if: env.TOKEN + run: | + set -ex + pip install git+https://github.com/Anaconda-Server/anaconda-client; + # The first -t option refers to the token, the second is the "type" + # option to the "upload" command + anaconda -t ${TOKEN} upload \ + --no-progress --force -u $ANACONDA_ORG \ + ./dist/*.whl; diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1b218041e33b..9de45ec24ab0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,6 +18,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: include: - name-suffix: "(Minimum Versions)" @@ -30,6 +31,10 @@ jobs: python-version: 3.7 extra-requirements: '-r requirements/testing/travis_extra.txt' XVFB_RUN: xvfb-run -a + # - os: ubuntu-18.04 + # python-version: pypy-3.7 + # extra-requirements: '-r requirements/testing/travis_extra.txt' + # XVFB_RUN: xvfb-run -a - os: ubuntu-16.04 python-version: 3.8 extra-requirements: '-r requirements/testing/travis_extra.txt' @@ -76,6 +81,8 @@ jobs: libxcb-randr0 \ libxcb-render-util0 \ libxcb-xinerama0 \ + libxml2-dev \ + libxslt1-dev \ lmodern \ fonts-freefont-otf \ texlive-pictures \ diff --git a/requirements/testing/travis_extra.txt b/requirements/testing/travis_extra.txt index 0b18fc58394a..318dd5f810d1 100644 --- a/requirements/testing/travis_extra.txt +++ b/requirements/testing/travis_extra.txt @@ -4,5 +4,5 @@ ipykernel nbconvert[execute]!=6.0.0,!=6.0.1 nbformat!=5.0.0,!=5.0.1 pandas!=0.25.0 -pikepdf +pikepdf; platform_python_implementation != 'PyPy' pytz diff --git a/src/_path.h b/src/_path.h index 784a6457807c..c7f1efd3e386 100644 --- a/src/_path.h +++ b/src/_path.h @@ -1085,6 +1085,11 @@ void quad2cubic(double x0, double y0, outy[2] = y2; } +/* PyPy before v7.3.3 does not have Py_DTSF_ADD_DOT_0 */ +#ifndef Py_DTSF_ADD_DOT_0 +#define Py_DTSF_ADD_DOT_0 0x02 +#endif + void __add_number(double val, char format_code, int precision, std::string& buffer)
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: