From b65fd03ffe188bd7e32b2416f8e1a05ce4a42869 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 12:11:58 +0200 Subject: [PATCH 01/45] Replace appveyor with gh actions --- .github/workflows/test-linux.yml | 2 +- .github/workflows/test-windows.yml | 95 ++++++++++++++++++++++++++++++ appveyor.yml | 71 ---------------------- 3 files changed, 96 insertions(+), 72 deletions(-) create mode 100644 .github/workflows/test-windows.yml delete mode 100644 appveyor.yml diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 032e1dcb..f1403427 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -20,7 +20,7 @@ jobs: numpy: 1.15.4 # 2019 - python: 3.8 - geos: 3.8.1 + geos: 3.8.2 numpy: 1.17.5 # 2020 - python: 3.9 diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml new file mode 100644 index 00000000..4d703312 --- /dev/null +++ b/.github/workflows/test-windows.yml @@ -0,0 +1,95 @@ +name: Windows + +on: [push, pull_request] + +jobs: + TestLinux: + name: Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [windows-2019] + archs: [auto32, auto64] + include: + # 2017 + - python: 3.6 + geos: 3.6.4 + numpy: 1.13.3 + # 2018 + - python: 3.7 + geos: 3.7.3 + numpy: 1.15.4 + # 2019 + - python: 3.8 + geos: 3.8.2 + numpy: 1.17.5 + # 2020 + - python: 3.9 + geos: 3.9.1 + numpy: 1.19.5 + # # dev build is disabled; install_geos.cmd doesn't have this option (yet?) + # - python: 3.9 + # geos: main + + env: + GEOS_VERSION: ${{ matrix.geos }} + GEOS_INSTALL: ${{ github.workspace }}\geos-${{ matrix.geos }} + GEOS_LIBRARY_PATH: ${{ github.workspace }}\geos-${{ matrix.geos }}\lib + GEOS_INCLUDE_PATH: ${{ github.workspace }}\geos-${{ matrix.geos }}\include + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + + - name: Cache GEOS build + uses: actions/cache@v2 + with: + path: | + geos-${{ env.GEOS_VERSION }} + key: ${{ matrix.os }}-${{ matrix.archs }}-2 + + - name: Activate MSVC 32-bit + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86 + if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto32' }} + + - name: Activate MSVC 64-bit + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 + if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto64' }} + + - name: Install GEOS + run: .\ci\install_geos.cmd + + - name: Install python dependencies + shell: bash + run: | + pip install --disable-pip-version-check --upgrade pip + pip install --upgrade wheel + if [ "$GEOS_VERSION" = "main" ]; then + pip install --upgrade --pre Cython numpy pytest; + else + pip install --upgrade Cython numpy==${{ matrix.numpy }} pytest; + fi + pip list + + - name: Set environment variables + run: echo "${{ env.GEOS_INSTALL }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Build PyGEOS + shell: bash + run: | + python setup.py build_ext --inplace + pip install --no-deps -e . + + - name: Run tests + shell: bash + continue-on-error: ${{ matrix.geos == 'main' }} + run: pytest pygeos diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index f49f242d..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -image: Visual Studio 2019 -platform: x64 - -environment: - global: - COMPILER: msvc2019 - - matrix: - # Interleave PYTHON, ARCH and GEOS_VERSION - - PYTHON: "C:\\Python36" - ARCH: x86 - GEOS_VERSION: 3.6.4 - NUMPY_VERSION: 1.13.3 - - PYTHON: "C:\\Python37-x64" - ARCH: x64 - GEOS_VERSION: 3.7.3 - NUMPY_VERSION: 1.15.4 - - PYTHON: "C:\\Python38" - ARCH: x86 - GEOS_VERSION: 3.8.1 - NUMPY_VERSION: 1.17.5 - - PYTHON: "C:\\Python39-x64" - ARCH: x64 - GEOS_VERSION: 3.9.1 - NUMPY_VERSION: 1.19.4 - -install: - # If there is a newer build queued for the same PR, cancel this one. - # The AppVeyor 'rollout builds' option is supposed to serve the same - # purpose but it is problematic because it tends to cancel builds pushed - # directly to master instead of just PR builds (or the converse). - # credits: JuliaLang developers. - - ps: - if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` - https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` - Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` - throw "There are newer queued builds for this pull request, failing early." } - -build: false # disable automatic build -build_script: - - set GEOS_INSTALL=C:\projects\deps\geos-%GEOS_VERSION%-%COMPILER%-%ARCH% - - set GEOS_ESCAPED_INSTALL=C:\\projects\\deps\\geos-%GEOS_VERSION%-%COMPILER%-%ARCH% - - - ps: 'Write-Host "Configuring PATH with $env:PYTHON and $env:GEOS_INSTALL\bin" -ForegroundColor Magenta' - - set PATH=%PYTHON%;%PYTHON%\Scripts;%GEOS_INSTALL%\bin;%PATH% - - python -m pip install --disable-pip-version-check --upgrade pip - - pip install --upgrade wheel # may be required to generate some dependencies - - - ps: 'Write-Host "Configuring MSVC compiler $env:COMPILER" -ForegroundColor Magenta' - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %ARCH% - - - ps: 'Write-Host "Checking GEOS build $env:GEOS_INSTALL" -ForegroundColor Magenta' - - if not exist C:\projects\deps mkdir C:\projects\deps - - cd C:\projects\deps - - call %APPVEYOR_BUILD_FOLDER%\ci\install_geos.cmd - - - ps: 'Write-Host "Building extension" -ForegroundColor Magenta' - - set GEOS_LIBRARY_PATH=%GEOS_ESCAPED_INSTALL%\\lib - - set GEOS_INCLUDE_PATH=%GEOS_ESCAPED_INSTALL%\\include - - cd %APPVEYOR_BUILD_FOLDER% - - xcopy %GEOS_INSTALL%\bin\geos*.dll pygeos\ - - pip install --upgrade Cython "numpy==%NUMPY_VERSION%" pytest - - python setup.py build_ext --inplace - - pip install --no-deps -e . - -test_script: - - pytest pygeos - -cache: - - C:\projects\deps -> %APPVEYOR_BUILD_FOLDER%\ci\install_geos.cmd From b18dafe11e9027f4975e012ee14cdcbf5d0bf99a Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 12:13:14 +0200 Subject: [PATCH 02/45] Quotes --- .github/workflows/test-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 4d703312..d1b44ce1 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -66,7 +66,7 @@ jobs: if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto64' }} - name: Install GEOS - run: .\ci\install_geos.cmd + run: ".\ci\install_geos.cmd" - name: Install python dependencies shell: bash From a8a463c17ec903f6bc9c70ec1fe92886d943f006 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 12:17:32 +0200 Subject: [PATCH 03/45] Fix build matrix --- .github/workflows/test-windows.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index d1b44ce1..48ec2c0f 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -5,11 +5,12 @@ on: [push, pull_request] jobs: TestLinux: name: Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-2019] + python: [3.6, 3.7, 3.8, 3.9] archs: [auto32, auto64] include: # 2017 From f66a2ccd379be1412e4013bc3af83fccd9ec3aca Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 12:19:45 +0200 Subject: [PATCH 04/45] Try bash shell --- .github/workflows/test-windows.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 48ec2c0f..c22ed8a7 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -67,7 +67,10 @@ jobs: if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto64' }} - name: Install GEOS - run: ".\ci\install_geos.cmd" + shell: bash + run: | + ./ci/install_geos.sh + cd ${{ github.workspace }} - name: Install python dependencies shell: bash From dd33fbc814cc6c6924057a146e2df072e6bfcc6e Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:20:50 +0200 Subject: [PATCH 05/45] Integrate windows into linux workflow --- .../{test-linux.yml => test-pip.yml} | 23 ++++- .github/workflows/test-windows.yml | 99 ------------------- 2 files changed, 20 insertions(+), 102 deletions(-) rename .github/workflows/{test-linux.yml => test-pip.yml} (71%) delete mode 100644 .github/workflows/test-windows.yml diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-pip.yml similarity index 71% rename from .github/workflows/test-linux.yml rename to .github/workflows/test-pip.yml index f1403427..7e1c57bf 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-pip.yml @@ -1,14 +1,16 @@ -name: Linux +name: Test on: [push, pull_request] jobs: TestLinux: - name: Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) - runs-on: ubuntu-latest + name: ${{ matrix.os }} Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ubuntu-latest, windows-2019] + geos: [3.6.4, 3.7.3, 3.8.2, 3.9.1, main] include: # 2017 - python: 3.6 @@ -50,6 +52,12 @@ jobs: ~/.cache/pip ${{ github.workspace }}/geosinstall + - name: Activate MSVC 64-bit + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 + if: ${{ matrix.os == 'windows-2019' }} + - name: Install GEOS shell: bash run: | @@ -73,6 +81,15 @@ jobs: run: | echo "LD_LIBRARY_PATH=$GEOS_INSTALL/lib" >> $GITHUB_ENV echo $GEOS_INSTALL/bin >> $GITHUB_PATH + if: ${{ matrix.os == 'ubuntu-latest' }} + + - name: Set environment variables + shell: bash + run: | + echo "${{ env.GEOS_INSTALL }}\bin" >> $GITHUB_PATH + echo "GEOS_LIBRARY_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\lib" >> $GITHUB_ENV + echo "GEOS_INCLUDE_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\include" >> $GITHUB_ENV + if: ${{ matrix.os == 'windows-2019' }} - name: Build PyGEOS shell: bash diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml deleted file mode 100644 index c22ed8a7..00000000 --- a/.github/workflows/test-windows.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: Windows - -on: [push, pull_request] - -jobs: - TestLinux: - name: Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [windows-2019] - python: [3.6, 3.7, 3.8, 3.9] - archs: [auto32, auto64] - include: - # 2017 - - python: 3.6 - geos: 3.6.4 - numpy: 1.13.3 - # 2018 - - python: 3.7 - geos: 3.7.3 - numpy: 1.15.4 - # 2019 - - python: 3.8 - geos: 3.8.2 - numpy: 1.17.5 - # 2020 - - python: 3.9 - geos: 3.9.1 - numpy: 1.19.5 - # # dev build is disabled; install_geos.cmd doesn't have this option (yet?) - # - python: 3.9 - # geos: main - - env: - GEOS_VERSION: ${{ matrix.geos }} - GEOS_INSTALL: ${{ github.workspace }}\geos-${{ matrix.geos }} - GEOS_LIBRARY_PATH: ${{ github.workspace }}\geos-${{ matrix.geos }}\lib - GEOS_INCLUDE_PATH: ${{ github.workspace }}\geos-${{ matrix.geos }}\include - - steps: - - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Cache GEOS build - uses: actions/cache@v2 - with: - path: | - geos-${{ env.GEOS_VERSION }} - key: ${{ matrix.os }}-${{ matrix.archs }}-2 - - - name: Activate MSVC 32-bit - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: x86 - if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto32' }} - - - name: Activate MSVC 64-bit - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: x64 - if: ${{ matrix.os == 'windows-2019' && matrix.archs == 'auto64' }} - - - name: Install GEOS - shell: bash - run: | - ./ci/install_geos.sh - cd ${{ github.workspace }} - - - name: Install python dependencies - shell: bash - run: | - pip install --disable-pip-version-check --upgrade pip - pip install --upgrade wheel - if [ "$GEOS_VERSION" = "main" ]; then - pip install --upgrade --pre Cython numpy pytest; - else - pip install --upgrade Cython numpy==${{ matrix.numpy }} pytest; - fi - pip list - - - name: Set environment variables - run: echo "${{ env.GEOS_INSTALL }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - - name: Build PyGEOS - shell: bash - run: | - python setup.py build_ext --inplace - pip install --no-deps -e . - - - name: Run tests - shell: bash - continue-on-error: ${{ matrix.geos == 'main' }} - run: pytest pygeos From eef53073185366054dd1bc6ebe16e6cddb58be17 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:33:00 +0200 Subject: [PATCH 06/45] Adapt build script --- ci/install_geos.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 8c67f578..f9eaefa5 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -37,10 +37,10 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. - make -j 2 + cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. + cmake --build -j 2 . # ctest . - make install + cmake --install . } if [ "$GEOS_VERSION" = "main" ]; then From ec3a484840e85298343933bffaaff06bce2f0460 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:38:50 +0200 Subject: [PATCH 07/45] Fix script and prune cache --- .github/workflows/test-pip.yml | 4 ++-- ci/install_geos.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 7e1c57bf..715f251e 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: TestLinux: - name: ${{ matrix.os }} Python ${{ matrix.python }} (GEOS ${{ matrix.geos }}, numpy ${{ matrix.numpy || 'latest' }}) + name: ${{ env.RUNNER_OS }} Py${{ matrix.python }} GEOS ${{ matrix.geos }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -47,7 +47,7 @@ jobs: - name: Cache GEOS and pip packages uses: actions/cache@v2 with: - key: ${{ runner.os }}-geos-${{ matrix.geos }} + key: ${{ runner.os }}-geos-${{ matrix.geos }}-2 path: | ~/.cache/pip ${{ github.workspace }}/geosinstall diff --git a/ci/install_geos.sh b/ci/install_geos.sh index f9eaefa5..9922305c 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -38,7 +38,7 @@ build_geos(){ mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. - cmake --build -j 2 . + cmake --build . -j 2 # ctest . cmake --install . } From 5487f743da68fb9714e0e3f4ad848ee25c2c69c5 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:40:11 +0200 Subject: [PATCH 08/45] Fix --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 715f251e..5221bd2e 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: TestLinux: - name: ${{ env.RUNNER_OS }} Py${{ matrix.python }} GEOS ${{ matrix.geos }} + name: ${{ matrix.os }} Py${{ matrix.python }} GEOS ${{ matrix.geos }} runs-on: ${{ matrix.os }} strategy: fail-fast: false From d36570e81caaa11fe35c682494fe4aabddd0cc62 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:45:21 +0200 Subject: [PATCH 09/45] Add osx --- .github/workflows/test-pip.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 5221bd2e..fa9313a0 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-2019] + os: [ubuntu-latest, macos-latest, windows-2019] geos: [3.6.4, 3.7.3, 3.8.2, 3.9.1, main] include: # 2017 @@ -47,7 +47,7 @@ jobs: - name: Cache GEOS and pip packages uses: actions/cache@v2 with: - key: ${{ runner.os }}-geos-${{ matrix.geos }}-2 + key: ${{ matrix.os }}-geos-${{ matrix.geos }} path: | ~/.cache/pip ${{ github.workspace }}/geosinstall @@ -83,6 +83,13 @@ jobs: echo $GEOS_INSTALL/bin >> $GITHUB_PATH if: ${{ matrix.os == 'ubuntu-latest' }} + - name: Set environment variables + shell: bash + run: | + echo "DYLD_LIBRARY_PATH=$GEOS_INSTALL/lib" >> $GITHUB_ENV + echo $GEOS_INSTALL/bin >> $GITHUB_PATH + if: ${{ matrix.os == 'macos-latest' }} + - name: Set environment variables shell: bash run: | From e9b531fff20fbcf33cbb629e1e4deb556b399422 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 13:52:16 +0200 Subject: [PATCH 10/45] Simplify conda and move doctest to pip --- .github/workflows/test-conda.yml | 34 ++++---------------------------- .github/workflows/test-pip.yml | 7 +++++++ 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/.github/workflows/test-conda.yml b/.github/workflows/test-conda.yml index 2a19c631..d24eb41f 100644 --- a/.github/workflows/test-conda.yml +++ b/.github/workflows/test-conda.yml @@ -4,40 +4,14 @@ on: [push, pull_request] jobs: TestConda: - name: ${{ matrix.os }} - ${{ matrix.channel || 'defaults' }} - Python ${{ matrix.python }} (GEOS ${{ matrix.geos || 'latest' }}, numpy ${{ matrix.numpy || 'latest' }}) + name: ${{ matrix.os }} - ${{ matrix.channel || 'defaults' }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] python: [3.8] - channel: [''] - include: - - os: ubuntu-latest - python: 3.8 - channel: conda-forge - pytest_args: "--doctest-modules" - - os: windows-latest - python: 3.8 - channel: conda-forge - - os: macos-latest - python: 3.8 - channel: conda-forge - - os: macos-latest - python: 3.6 - geos: 3.6 - numpy: 1.13 - - os: macos-latest - python: 3.7 - geos: 3.7 - numpy: 1.15 - - os: macos-latest - python: 3.8 - geos: 3.8 - numpy: 1.17 - - os: macos-latest - python: 3.8 - channel: defaults + channel: ['', 'conda-forge'] steps: - uses: actions/checkout@v2 @@ -51,7 +25,7 @@ jobs: - name: Setup Environment shell: bash run: | - conda create --name test python=${{ matrix.python }} pytest geos=${{ matrix.geos || '' }} numpy=${{ matrix.numpy || '' }} + conda create --name test python=3.8 pytest geos numpy source activate test python -V conda info @@ -75,4 +49,4 @@ jobs: shell: bash run: | source activate test - pytest pygeos ${{ matrix.pytest_args }} + pytest pygeos diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index fa9313a0..50601e40 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -109,3 +109,10 @@ jobs: continue-on-error: ${{ matrix.geos == 'main' }} run: | pytest pygeos + + - name: Run doctests + shell: bash + run: | + rm -rf pygeos/tests + pytest --doctest-modules pygeos + if: ${{ matrix.os == 'ubuntu-latest' && matrix.python == '3.8' }} From 2efc5412d3ad871cc2422154555a95bf24a556ef Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 26 Aug 2021 14:10:13 +0200 Subject: [PATCH 11/45] Attempt fix --- .github/workflows/test-pip.yml | 15 ++++++++------- ci/install_geos.sh | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 50601e40..b7632e32 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -76,21 +76,22 @@ jobs: fi pip list - - name: Set environment variables + - name: Set environment variables (Linux) shell: bash run: | - echo "LD_LIBRARY_PATH=$GEOS_INSTALL/lib" >> $GITHUB_ENV - echo $GEOS_INSTALL/bin >> $GITHUB_PATH + echo "LD_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV + echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH if: ${{ matrix.os == 'ubuntu-latest' }} - - name: Set environment variables + - name: Set environment variables (OSX) shell: bash run: | - echo "DYLD_LIBRARY_PATH=$GEOS_INSTALL/lib" >> $GITHUB_ENV - echo $GEOS_INSTALL/bin >> $GITHUB_PATH + echo "DYLD_FALLBACK_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV + echo "LDFLAGS=-Wl,-rpath,${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV + echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH if: ${{ matrix.os == 'macos-latest' }} - - name: Set environment variables + - name: Set environment variables (Windows) shell: bash run: | echo "${{ env.GEOS_INSTALL }}\bin" >> $GITHUB_PATH diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 9922305c..da763a90 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -37,7 +37,7 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. cmake --build . -j 2 # ctest . cmake --install . From eb6ed0d026b478f66aefa61d5edabb8c1e16c651 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Fri, 27 Aug 2021 13:50:41 +0200 Subject: [PATCH 12/45] Update install_geos.sh --- ci/install_geos.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index da763a90..7ebe5b92 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -8,26 +8,26 @@ set -e -if [ -z "$GEOS_INSTALL" ]; then +if [ -z '$GEOS_INSTALL' ]; then echo "GEOS_INSTALL must be set" exit 1 -elif [ -z "$GEOS_VERSION" ]; then +elif [ -z '$GEOS_VERSION' ]; then echo "GEOS_VERSION must be set" exit 1 -fi +fiets # Create directories, if they don't exist -mkdir -p $GEOS_INSTALL +mkdir -p '$GEOS_INSTALL' # Download and build GEOS outside other source tree -if [ -z "$GEOS_BUILD" ]; then - GEOS_BUILD=$HOME/geosbuild +if [ -z 'GEOS_BUILD' ]; then + GEOS_BUILD='$HOME/geosbuild' fi prepare_geos_build_dir(){ - rm -rf $GEOS_BUILD - mkdir -p $GEOS_BUILD - cd $GEOS_BUILD + rm -rf '$GEOS_BUILD' + mkdir -p '$GEOS_BUILD' + cd '$GEOS_BUILD' } build_geos(){ @@ -43,7 +43,7 @@ build_geos(){ cmake --install . } -if [ "$GEOS_VERSION" = "main" ]; then +if [ '$GEOS_VERSION' = "main" ]; then prepare_geos_build_dir # use GitHub mirror git clone --depth 1 https://github.com/libgeos/geos.git geos-$GEOS_VERSION From e79ed8ccec79b2329526b53ed7dbbfb15ebe9bab Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Fri, 27 Aug 2021 13:54:07 +0200 Subject: [PATCH 13/45] Update install_geos.sh --- ci/install_geos.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 7ebe5b92..d1dffec4 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -14,13 +14,13 @@ if [ -z '$GEOS_INSTALL' ]; then elif [ -z '$GEOS_VERSION' ]; then echo "GEOS_VERSION must be set" exit 1 -fiets +fi # Create directories, if they don't exist mkdir -p '$GEOS_INSTALL' # Download and build GEOS outside other source tree -if [ -z 'GEOS_BUILD' ]; then +if [ -z '$GEOS_BUILD' ]; then GEOS_BUILD='$HOME/geosbuild' fi @@ -37,7 +37,7 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX='$GEOS_INSTALL' .. cmake --build . -j 2 # ctest . cmake --install . From ee20b710d0744c37ec1680086c476480f5c1730a Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Fri, 27 Aug 2021 13:55:31 +0200 Subject: [PATCH 14/45] Update install_geos.sh --- ci/install_geos.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index d1dffec4..a7755702 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -32,7 +32,7 @@ prepare_geos_build_dir(){ build_geos(){ echo "Installing cmake" - pip install cmake + pip install cmake ninja echo "Building geos-$GEOS_VERSION" mkdir build From 89ecb14b24b43fdd1f1437f725d93ecf1d69bf01 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Fri, 27 Aug 2021 14:19:49 +0200 Subject: [PATCH 15/45] Update install_geos.sh --- ci/install_geos.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index a7755702..808b9ce3 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -8,26 +8,26 @@ set -e -if [ -z '$GEOS_INSTALL' ]; then +if [ -z "$GEOS_INSTALL" ]; then echo "GEOS_INSTALL must be set" exit 1 -elif [ -z '$GEOS_VERSION' ]; then +elif [ -z "$GEOS_VERSION" ]; then echo "GEOS_VERSION must be set" exit 1 fi # Create directories, if they don't exist -mkdir -p '$GEOS_INSTALL' +mkdir -p "$GEOS_INSTALL" # Download and build GEOS outside other source tree -if [ -z '$GEOS_BUILD' ]; then - GEOS_BUILD='$HOME/geosbuild' +if [ -z "$GEOS_BUILD" ]; then + GEOS_BUILD=$HOME/geosbuild fi prepare_geos_build_dir(){ - rm -rf '$GEOS_BUILD' - mkdir -p '$GEOS_BUILD' - cd '$GEOS_BUILD' + rm -rf $GEOS_BUILD + mkdir -p $GEOS_BUILD + cd $GEOS_BUILD } build_geos(){ @@ -37,13 +37,13 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX='$GEOS_INSTALL' .. + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${GEOS_INSTALL//\\//} .. cmake --build . -j 2 # ctest . cmake --install . } -if [ '$GEOS_VERSION' = "main" ]; then +if [ "$GEOS_VERSION" = "main" ]; then prepare_geos_build_dir # use GitHub mirror git clone --depth 1 https://github.com/libgeos/geos.git geos-$GEOS_VERSION From 4912edc9a96cc30d8069f0c52fb48f0f9733749a Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Fri, 27 Aug 2021 14:27:38 +0200 Subject: [PATCH 16/45] Update install_geos.sh --- ci/install_geos.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 808b9ce3..2c6a3372 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -37,7 +37,8 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${GEOS_INSTALL//\\//} .. + GEOS_INSTALL_FW=$(printf "%s" "$GEOS_INSTALL" | sed 's/\\/\//g') + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL_FW .. cmake --build . -j 2 # ctest . cmake --install . From 88cf87837ef3bf6d5db8cfba0c944e49cb306690 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sat, 28 Aug 2021 13:55:55 +0200 Subject: [PATCH 17/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index b7632e32..b58e3c57 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -62,7 +62,7 @@ jobs: shell: bash run: | ./ci/install_geos.sh - cd ${{ github.workspace }} + cd '${{ github.workspace }}' - name: Install python dependencies shell: bash @@ -94,9 +94,9 @@ jobs: - name: Set environment variables (Windows) shell: bash run: | - echo "${{ env.GEOS_INSTALL }}\bin" >> $GITHUB_PATH - echo "GEOS_LIBRARY_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\lib" >> $GITHUB_ENV - echo "GEOS_INCLUDE_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\include" >> $GITHUB_ENV + echo '${{ env.GEOS_INSTALL }}\bin' >> $GITHUB_PATH + echo 'GEOS_LIBRARY_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\lib' >> $GITHUB_ENV + echo 'GEOS_INCLUDE_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} - name: Build PyGEOS From 946a001594365c4583c3084afc53b8610ed95290 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Sat, 28 Aug 2021 14:18:14 +0200 Subject: [PATCH 18/45] Backslashes ... --- .github/workflows/test-pip.yml | 18 ++++++++++++------ ci/install_geos.sh | 3 +-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index b58e3c57..102615a1 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -52,17 +52,23 @@ jobs: ~/.cache/pip ${{ github.workspace }}/geosinstall - - name: Activate MSVC 64-bit + - name: Activate MSVC 64-bit (Windows) uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 if: ${{ matrix.os == 'windows-2019' }} + - name: Correct slashes in GEOS_INSTALL (Windows) + shell: bash + run: | + echo 'GEOS_INSTALL=${{ github.workspace }}\geosinstall\geos-${{ matrix.geos }}' >> $GITHUB_ENV + if: ${{ matrix.os == 'windows-2019' }} + - name: Install GEOS shell: bash run: | ./ci/install_geos.sh - cd '${{ github.workspace }}' + cd ${{ github.workspace }} - name: Install python dependencies shell: bash @@ -79,24 +85,24 @@ jobs: - name: Set environment variables (Linux) shell: bash run: | - echo "LD_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH + echo "LD_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV if: ${{ matrix.os == 'ubuntu-latest' }} - name: Set environment variables (OSX) shell: bash run: | + echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH echo "DYLD_FALLBACK_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV echo "LDFLAGS=-Wl,-rpath,${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV - echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH if: ${{ matrix.os == 'macos-latest' }} - name: Set environment variables (Windows) shell: bash run: | echo '${{ env.GEOS_INSTALL }}\bin' >> $GITHUB_PATH - echo 'GEOS_LIBRARY_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\lib' >> $GITHUB_ENV - echo 'GEOS_INCLUDE_PATH=${{ github.workspace }}\geos-${{ matrix.geos }}\include' >> $GITHUB_ENV + echo 'GEOS_LIBRARY_PATH=${{ env.GEOS_INSTALL }}\lib' >> $GITHUB_ENV + echo 'GEOS_INCLUDE_PATH=${{ env.GEOS_INSTALL }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} - name: Build PyGEOS diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 2c6a3372..6bed0b42 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -37,8 +37,7 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - GEOS_INSTALL_FW=$(printf "%s" "$GEOS_INSTALL" | sed 's/\\/\//g') - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL_FW .. + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. cmake --build . -j 2 # ctest . cmake --install . From 0a020af82f5d2558f52e777763e66a835f55aa1b Mon Sep 17 00:00:00 2001 From: caspervdw Date: Sat, 28 Aug 2021 14:34:19 +0200 Subject: [PATCH 19/45] Retry slash replacement --- ci/install_geos.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 6bed0b42..2c6a3372 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -37,7 +37,8 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. + GEOS_INSTALL_FW=$(printf "%s" "$GEOS_INSTALL" | sed 's/\\/\//g') + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL_FW .. cmake --build . -j 2 # ctest . cmake --install . From 8cd9a34745f916287c9164140b56b4ebcbb1674d Mon Sep 17 00:00:00 2001 From: caspervdw Date: Sat, 28 Aug 2021 14:36:06 +0200 Subject: [PATCH 20/45] Fix --- .github/workflows/test-pip.yml | 2 +- ci/install_geos.sh | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 102615a1..bf6badbc 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -68,7 +68,7 @@ jobs: shell: bash run: | ./ci/install_geos.sh - cd ${{ github.workspace }} + cd '${{ github.workspace }}' - name: Install python dependencies shell: bash diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 2c6a3372..11fd0e37 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -17,7 +17,7 @@ elif [ -z "$GEOS_VERSION" ]; then fi # Create directories, if they don't exist -mkdir -p "$GEOS_INSTALL" +mkdir -p $GEOS_INSTALL # Download and build GEOS outside other source tree if [ -z "$GEOS_BUILD" ]; then @@ -37,8 +37,7 @@ build_geos(){ echo "Building geos-$GEOS_VERSION" mkdir build cd build - GEOS_INSTALL_FW=$(printf "%s" "$GEOS_INSTALL" | sed 's/\\/\//g') - cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL_FW .. + cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. cmake --build . -j 2 # ctest . cmake --install . From 800542146971426d1a12bc6c46b9a82d1c77e034 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sat, 28 Aug 2021 16:30:36 +0200 Subject: [PATCH 21/45] Update install_geos.sh --- ci/install_geos.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/install_geos.sh b/ci/install_geos.sh index 11fd0e37..b3cc118f 100755 --- a/ci/install_geos.sh +++ b/ci/install_geos.sh @@ -38,7 +38,7 @@ build_geos(){ mkdir build cd build cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$GEOS_INSTALL .. - cmake --build . -j 2 + cmake --build . # ctest . cmake --install . } From b7dc70171015e946d94356f2036a0646784ed9c5 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sun, 29 Aug 2021 13:52:08 +0200 Subject: [PATCH 22/45] Revert to 3.8.1 --- .github/workflows/test-pip.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index bf6badbc..107eedbd 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] - geos: [3.6.4, 3.7.3, 3.8.2, 3.9.1, main] + geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] include: # 2017 - python: 3.6 @@ -22,7 +22,7 @@ jobs: numpy: 1.15.4 # 2019 - python: 3.8 - geos: 3.8.2 + geos: 3.8.1 numpy: 1.17.5 # 2020 - python: 3.9 From 0b6102bba1b53e0ca660604e3c10d41a123eed71 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sun, 29 Aug 2021 14:11:57 +0200 Subject: [PATCH 23/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 107eedbd..ba1b4222 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -22,7 +22,7 @@ jobs: numpy: 1.15.4 # 2019 - python: 3.8 - geos: 3.8.1 + geos: 3.8.2 numpy: 1.17.5 # 2020 - python: 3.9 @@ -51,6 +51,7 @@ jobs: path: | ~/.cache/pip ${{ github.workspace }}/geosinstall + if: ${{ matrix.os != 'windows-2019' }} - name: Activate MSVC 64-bit (Windows) uses: ilammy/msvc-dev-cmd@v1 From cdabbf0e290583194cb5cde840c78cc437ad07f5 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sun, 29 Aug 2021 14:14:47 +0200 Subject: [PATCH 24/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index ba1b4222..cec141d1 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] - geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] + geos: [3.6.4, 3.7.3, 3.8.2, 3.9.1, main] include: # 2017 - python: 3.6 From 2f7b395c587b2b9ae0ee09ca5f3510ada05c8604 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sun, 29 Aug 2021 14:58:10 +0200 Subject: [PATCH 25/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index cec141d1..4465e3c0 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] - geos: [3.6.4, 3.7.3, 3.8.2, 3.9.1, main] + geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] include: # 2017 - python: 3.6 @@ -22,7 +22,7 @@ jobs: numpy: 1.15.4 # 2019 - python: 3.8 - geos: 3.8.2 + geos: 3.8.1 numpy: 1.17.5 # 2020 - python: 3.9 @@ -51,7 +51,6 @@ jobs: path: | ~/.cache/pip ${{ github.workspace }}/geosinstall - if: ${{ matrix.os != 'windows-2019' }} - name: Activate MSVC 64-bit (Windows) uses: ilammy/msvc-dev-cmd@v1 @@ -75,7 +74,7 @@ jobs: shell: bash run: | pip install --disable-pip-version-check --upgrade pip - pip install --upgrade wheel + pip install --upgrade wheel setuptools if [ "$GEOS_VERSION" = "main" ]; then pip install --upgrade --pre Cython numpy pytest; else From d8e666144e0adbbe6987bd4dee5b5300c7477f62 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Sun, 29 Aug 2021 20:49:47 +0200 Subject: [PATCH 26/45] Update setup.py --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c752f00d..d9bb8e1a 100644 --- a/setup.py +++ b/setup.py @@ -3,11 +3,12 @@ import os import subprocess import sys -from distutils.version import LooseVersion from pathlib import Path from setuptools import Extension, setup, find_packages from setuptools.command.build_ext import build_ext as _build_ext +# import distutils *after* setuptools +from distutils.version import LooseVersion import versioneer From 9852039fbf7d744ad997340edb3c36df5d307a63 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Mon, 30 Aug 2021 14:21:24 +0200 Subject: [PATCH 27/45] Python or GEOS issue? --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 4465e3c0..ce605580 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -17,7 +17,7 @@ jobs: geos: 3.6.4 numpy: 1.13.3 # 2018 - - python: 3.7 + - python: 3.8 geos: 3.7.3 numpy: 1.15.4 # 2019 From 990c286dc4fd5a5610147921ca140ae9ba8db3dc Mon Sep 17 00:00:00 2001 From: caspervdw Date: Mon, 30 Aug 2021 14:24:12 +0200 Subject: [PATCH 28/45] Also bump numpy --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index ce605580..b4f07735 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -19,7 +19,7 @@ jobs: # 2018 - python: 3.8 geos: 3.7.3 - numpy: 1.15.4 + numpy: 1.17.5 # 2019 - python: 3.8 geos: 3.8.1 From ddfcedf9f5eaa90ec5b7d5abcc0b7394a72c98e3 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Mon, 30 Aug 2021 14:26:42 +0200 Subject: [PATCH 29/45] Revert [ci skip] --- .github/workflows/test-pip.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index b4f07735..4465e3c0 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -17,9 +17,9 @@ jobs: geos: 3.6.4 numpy: 1.13.3 # 2018 - - python: 3.8 + - python: 3.7 geos: 3.7.3 - numpy: 1.17.5 + numpy: 1.15.4 # 2019 - python: 3.8 geos: 3.8.1 From b35e32065d1a2fda6b520926e2f1fb523f9d4c7c Mon Sep 17 00:00:00 2001 From: caspervdw Date: Mon, 30 Aug 2021 14:31:44 +0200 Subject: [PATCH 30/45] Maybe numpy is the problem --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 4465e3c0..52120c95 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -19,7 +19,7 @@ jobs: # 2018 - python: 3.7 geos: 3.7.3 - numpy: 1.15.4 + numpy: 1.17.5 # 2019 - python: 3.8 geos: 3.8.1 From 671d4589b6796a4efe86d94b2bb1ea5215c02048 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 13:51:54 +0200 Subject: [PATCH 31/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 52120c95..59601eae 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -19,7 +19,7 @@ jobs: # 2018 - python: 3.7 geos: 3.7.3 - numpy: 1.17.5 + numpy: 1.15.4 # 2019 - python: 3.8 geos: 3.8.1 @@ -100,7 +100,7 @@ jobs: - name: Set environment variables (Windows) shell: bash run: | - echo '${{ env.GEOS_INSTALL }}\bin' >> $GITHUB_PATH + cp '${{ env.GEOS_INSTALL }}\bin\*.dll' pygeos echo 'GEOS_LIBRARY_PATH=${{ env.GEOS_INSTALL }}\lib' >> $GITHUB_ENV echo 'GEOS_INCLUDE_PATH=${{ env.GEOS_INSTALL }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} From 9966bf04d30fe618afb8bf42495686aacaa09a2f Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 13:55:08 +0200 Subject: [PATCH 32/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 59601eae..5ddd09bd 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -100,7 +100,7 @@ jobs: - name: Set environment variables (Windows) shell: bash run: | - cp '${{ env.GEOS_INSTALL }}\bin\*.dll' pygeos + cp '${{ env.GEOS_INSTALL }}\bin\'*.dll pygeos echo 'GEOS_LIBRARY_PATH=${{ env.GEOS_INSTALL }}\lib' >> $GITHUB_ENV echo 'GEOS_INCLUDE_PATH=${{ env.GEOS_INSTALL }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} From e4f001548067e4334e18cdb78003937161ea2d35 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 14:02:51 +0200 Subject: [PATCH 33/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 5ddd09bd..8b20c6ff 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -100,7 +100,7 @@ jobs: - name: Set environment variables (Windows) shell: bash run: | - cp '${{ env.GEOS_INSTALL }}\bin\'*.dll pygeos + cp geosinstall/bin/*.dll pygeos echo 'GEOS_LIBRARY_PATH=${{ env.GEOS_INSTALL }}\lib' >> $GITHUB_ENV echo 'GEOS_INCLUDE_PATH=${{ env.GEOS_INSTALL }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} From 945513d5fcbfc75c55b8bf4d5f21f3214c4d732c Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 14:05:30 +0200 Subject: [PATCH 34/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 8b20c6ff..24110c55 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -100,7 +100,7 @@ jobs: - name: Set environment variables (Windows) shell: bash run: | - cp geosinstall/bin/*.dll pygeos + cp geosinstall/geos-${{ matrix.geos }}/bin/*.dll pygeos echo 'GEOS_LIBRARY_PATH=${{ env.GEOS_INSTALL }}\lib' >> $GITHUB_ENV echo 'GEOS_INCLUDE_PATH=${{ env.GEOS_INSTALL }}\include' >> $GITHUB_ENV if: ${{ matrix.os == 'windows-2019' }} From e6cf27924d9c93ae498a81c62f1d8d2f6ce47f6e Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 17:41:28 +0200 Subject: [PATCH 35/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 24110c55..79bd13a8 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -29,7 +29,7 @@ jobs: geos: 3.9.1 numpy: 1.19.5 # dev - - python: 3.9 + - python: 3.10-dev geos: main env: From 0d858bb3e4ea7c5022a7848e19cb02e4f7e0515a Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Tue, 31 Aug 2021 19:35:26 +0200 Subject: [PATCH 36/45] Update test-pip.yml --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 79bd13a8..24110c55 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -29,7 +29,7 @@ jobs: geos: 3.9.1 numpy: 1.19.5 # dev - - python: 3.10-dev + - python: 3.9 geos: main env: From cc4ab519218cef61e252f4fd7c65351333167a28 Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Wed, 1 Sep 2021 20:13:24 +0200 Subject: [PATCH 37/45] Update test-conda.yml --- .github/workflows/test-conda.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-conda.yml b/.github/workflows/test-conda.yml index d24eb41f..a69d672f 100644 --- a/.github/workflows/test-conda.yml +++ b/.github/workflows/test-conda.yml @@ -10,8 +10,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python: [3.8] - channel: ['', 'conda-forge'] + python: [3.8, 3.9] + include: + - python: 3.8 + channel: '' + - python: 3.9 + channel: 'conda-forge' steps: - uses: actions/checkout@v2 @@ -25,7 +29,7 @@ jobs: - name: Setup Environment shell: bash run: | - conda create --name test python=3.8 pytest geos numpy + conda create --name test python=${{ matrix.python }} pytest geos numpy source activate test python -V conda info From 6a86b1c19d56d3a89f27c84bc94ce9f516cb582f Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 2 Sep 2021 16:07:57 +0200 Subject: [PATCH 38/45] PR Change --- .github/workflows/test-pip.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 24110c55..f1bb8474 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -120,6 +120,5 @@ jobs: - name: Run doctests shell: bash run: | - rm -rf pygeos/tests - pytest --doctest-modules pygeos + pytest --doctest-modules pygeos --ignore=pygeos/tests if: ${{ matrix.os == 'ubuntu-latest' && matrix.python == '3.8' }} From 620a0452bfa64127b2bda0283f2e74f83ac8c74c Mon Sep 17 00:00:00 2001 From: caspervdw Date: Thu, 2 Sep 2021 16:37:58 +0200 Subject: [PATCH 39/45] Add comment and clean osx setting --- .github/workflows/release.yml | 1 - .github/workflows/test-pip.yml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f9da1871..0ea882a7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -115,7 +115,6 @@ jobs: CIBW_ENVIRONMENT_MACOS: GEOS_INSTALL=${{ github.workspace }}/geos-${{ env.GEOS_VERSION }} GEOS_CONFIG=${{ github.workspace }}/geos-${{ env.GEOS_VERSION }}/bin/geos-config - DYLD_FALLBACK_LIBRARY_PATH=${{ github.workspace }}/geos-${{ env.GEOS_VERSION }}/lib LDFLAGS=-Wl,-rpath,${{ github.workspace }}/geos-${{ env.GEOS_VERSION }}/lib CIBW_ENVIRONMENT_WINDOWS: GEOS_INSTALL='${{ github.workspace }}\geos-${{ env.GEOS_VERSION }}' diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index f1bb8474..55ebd4a7 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -93,11 +93,11 @@ jobs: shell: bash run: | echo "${{ env.GEOS_INSTALL }}/bin" >> $GITHUB_PATH - echo "DYLD_FALLBACK_LIBRARY_PATH=${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV echo "LDFLAGS=-Wl,-rpath,${{ env.GEOS_INSTALL }}/lib" >> $GITHUB_ENV if: ${{ matrix.os == 'macos-latest' }} - - name: Set environment variables (Windows) + # Python >=3.8 ignores the PATH for finding DLLs. We copy them into the package dir. + - name: Set environment variables + copy DLLs (Windows) shell: bash run: | cp geosinstall/geos-${{ matrix.geos }}/bin/*.dll pygeos From d2ea4e0081a8e6bb4eb1d17942e804ea4357f9c2 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Tue, 7 Sep 2021 13:22:03 +0200 Subject: [PATCH 40/45] Include 32-bit windows --- .github/workflows/test-pip.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 55ebd4a7..86ee9bd9 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -10,7 +10,13 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] + architecture: [x86, x64] geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] + exclude: + - os: ubuntu-latest + architecture: x86 + - os: macos-latest + architecture: x86 include: # 2017 - python: 3.6 @@ -43,19 +49,20 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} + architecture: ${{ matrix.architecture }} - name: Cache GEOS and pip packages uses: actions/cache@v2 with: - key: ${{ matrix.os }}-geos-${{ matrix.geos }} + key: ${{ matrix.os }}-${{ matrix.architecture }}-geos-${{ matrix.geos }} path: | ~/.cache/pip ${{ github.workspace }}/geosinstall - - name: Activate MSVC 64-bit (Windows) + - name: Activate MSVC uses: ilammy/msvc-dev-cmd@v1 with: - arch: x64 + arch: ${{ matrix.architecture }} if: ${{ matrix.os == 'windows-2019' }} - name: Correct slashes in GEOS_INSTALL (Windows) From 10589f9f0e7da857119cf15a6af018db93018939 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Tue, 7 Sep 2021 13:22:36 +0200 Subject: [PATCH 41/45] Remove conda actions runner [skip ci] --- .github/workflows/test-conda.yml | 56 -------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 .github/workflows/test-conda.yml diff --git a/.github/workflows/test-conda.yml b/.github/workflows/test-conda.yml deleted file mode 100644 index a69d672f..00000000 --- a/.github/workflows/test-conda.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Conda - -on: [push, pull_request] - -jobs: - TestConda: - name: ${{ matrix.os }} - ${{ matrix.channel || 'defaults' }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python: [3.8, 3.9] - include: - - python: 3.8 - channel: '' - - python: 3.9 - channel: 'conda-forge' - - steps: - - uses: actions/checkout@v2 - - - name: Setup Conda - uses: s-weigand/setup-conda@v1.0.5 - with: - activate-conda: false - conda-channels: ${{ matrix.channel }} - - - name: Setup Environment - shell: bash - run: | - conda create --name test python=${{ matrix.python }} pytest geos numpy - source activate test - python -V - conda info - conda list - - # set GEOS paths for Windows - - name: Set GEOS library / include folders - shell: bash - if: contains(matrix.os, 'windows') - run: | - echo "GEOS_LIBRARY_PATH=C:\\Miniconda\\envs\\test\\Library\\lib" >> $GITHUB_ENV - echo "GEOS_INCLUDE_PATH=C:\\Miniconda\\envs\\test\\Library\\include" >> $GITHUB_ENV - - - name: Build and install PyGEOS - shell: bash - run: | - source activate test - pip install -e . --no-deps -v - - - name: Run tests - shell: bash - run: | - source activate test - pytest pygeos From 6c3a1a71777a8f684f94267c062d08a9c13d00c9 Mon Sep 17 00:00:00 2001 From: caspervdw Date: Tue, 7 Sep 2021 13:23:56 +0200 Subject: [PATCH 42/45] Adapt name [skip ci] --- .github/workflows/test-pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 86ee9bd9..ee88e50e 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: TestLinux: - name: ${{ matrix.os }} Py${{ matrix.python }} GEOS ${{ matrix.geos }} + name: ${{ matrix.os }}-${{ matrix.architecture }} Py${{ matrix.python }} GEOS ${{ matrix.geos }} runs-on: ${{ matrix.os }} strategy: fail-fast: false From 31b47738492c92870d1683a4d32fde903d8c20ab Mon Sep 17 00:00:00 2001 From: caspervdw Date: Tue, 7 Sep 2021 13:29:24 +0200 Subject: [PATCH 43/45] Set up matrix differently --- .github/workflows/test-pip.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index ee88e50e..25c2046e 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -10,14 +10,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] - architecture: [x86, x64] + architecture: [x64] geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] - exclude: - - os: ubuntu-latest - architecture: x86 - - os: macos-latest - architecture: x86 include: + # 32-bit windows builds + - os: windows-2019 + architecture: x86 # 2017 - python: 3.6 geos: 3.6.4 From 333ca928a1976ddac7266c3e647e78b403214c6b Mon Sep 17 00:00:00 2001 From: caspervdw Date: Tue, 7 Sep 2021 13:34:22 +0200 Subject: [PATCH 44/45] Enable only 2 windows 32 builds --- .github/workflows/test-pip.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-pip.yml b/.github/workflows/test-pip.yml index 25c2046e..9e93ab0b 100644 --- a/.github/workflows/test-pip.yml +++ b/.github/workflows/test-pip.yml @@ -13,9 +13,6 @@ jobs: architecture: [x64] geos: [3.6.4, 3.7.3, 3.8.1, 3.9.1, main] include: - # 32-bit windows builds - - os: windows-2019 - architecture: x86 # 2017 - python: 3.6 geos: 3.6.4 @@ -35,6 +32,17 @@ jobs: # dev - python: 3.9 geos: main + # enable two 32-bit windows builds: + - os: windows-2019 + architecture: x86 + python: 3.6 + geos: 3.6.4 + numpy: 1.13.3 + - os: windows-2019 + architecture: x86 + python: 3.9 + geos: 3.9.1 + numpy: 1.19.5 env: GEOS_VERSION: ${{ matrix.geos }} From a67004e8bafe52cd1395c5f4c9aa801f018aa07b Mon Sep 17 00:00:00 2001 From: Casper van der Wel Date: Thu, 9 Sep 2021 15:52:04 +0200 Subject: [PATCH 45/45] Fix badges [skip ci] --- README.rst | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/README.rst b/README.rst index 6a38b2f0..2db0cd5d 100644 --- a/README.rst +++ b/README.rst @@ -10,19 +10,9 @@ PyGEOS .. Github Actions status — https://github.com/pygeos/pygeos/actions -.. image:: https://github.com/pygeos/pygeos/workflows/Linux/badge.svg +.. image:: https://github.com/pygeos/pygeos/workflows/Test/badge.svg :alt: Github Actions status - :target: https://github.com/pygeos/pygeos/actions/workflows/test-linux.yml?query=branch%3Amaster - -.. image:: https://github.com/pygeos/pygeos/workflows/Conda/badge.svg - :alt: Github Actions status - :target: https://github.com/pygeos/pygeos/actions/workflows/test-conda.yml?query=branch%3Amaster - -.. Appveyor CI status — https://ci.appveyor.com - -.. image:: https://ci.appveyor.com/api/projects/status/jw48gpd88f188av6/branch/master?svg=true - :alt: Appveyor CI status - :target: https://ci.appveyor.com/project/caspervdw/pygeos-3e5cu/branch/master + :target: https://github.com/pygeos/pygeos/actions/workflows/test-pip.yml?query=branch%3Amaster .. Travis CI status -- https://travis-ci.com