From f734f0fe0d0d892da6110c7244cad103b4fb1971 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 10:44:34 +1000 Subject: [PATCH 01/27] Trying a specific version of shapely --- stage_requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stage_requirements.txt b/stage_requirements.txt index b38335a6..db061974 100644 --- a/stage_requirements.txt +++ b/stage_requirements.txt @@ -4,4 +4,4 @@ -c constraints.txt -e . -e .[testing] -shapely --no-binary shapely # needed to install cartopy for compatibility +shapely==1.8.5.post1 # binary wheel, avoids numpy compatibility issues From c85565c5a1522f9d3b6cac5b5e35572af7bee249 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 10:54:06 +1000 Subject: [PATCH 02/27] Pin Cartopy to a version that works with Shapely 1.8.5 --- stage_requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stage_requirements.txt b/stage_requirements.txt index db061974..41d248f2 100644 --- a/stage_requirements.txt +++ b/stage_requirements.txt @@ -5,3 +5,4 @@ -e . -e .[testing] shapely==1.8.5.post1 # binary wheel, avoids numpy compatibility issues +cartopy==0.20.3 \ No newline at end of file From eccd7226008bfc89584dd2de933271fdbafa1061 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 11:00:03 +1000 Subject: [PATCH 03/27] Ensure compatible setuptools version for cartopy 0.20.3 --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 26f7af4f..01a9f635 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,6 +43,8 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | + # Ensure compatible setuptools version for cartopy 0.20.3 (requires distutils) + pip install setuptools==65.5.1 python -m pip install --upgrade pip==24.0 # patch to solve dependency issues with celery / fiona / click / pytz From b5146236844aa131bd38fc190b1703a663667dfb Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 11:04:26 +1000 Subject: [PATCH 04/27] Testing --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 01a9f635..031c6621 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,6 +62,10 @@ jobs: # remove downlaoded copy of celery rm -rf celery-5.1.2 celery-5.1.2.tar.gz + # Install shapely and cartopy manually with build isolation OFF + pip install shapely==1.8.5.post1 + pip install --no-build-isolation cartopy==0.20.3 + pip install pytest-runner pip install pyshp pip install scipy From 219ad91c7f82b257193a3436ab2e535d9fbcd2e5 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 11:06:44 +1000 Subject: [PATCH 05/27] testing --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 031c6621..0d814cff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -63,6 +63,7 @@ jobs: rm -rf celery-5.1.2 celery-5.1.2.tar.gz # Install shapely and cartopy manually with build isolation OFF + pip install "numpy<1.24.0" # to match your constraints pip install shapely==1.8.5.post1 pip install --no-build-isolation cartopy==0.20.3 From e4698d1fd9db702b4a083733cb2e29b7883c7b63 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 11:09:11 +1000 Subject: [PATCH 06/27] testing --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d814cff..1ae78ed9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,6 +62,9 @@ jobs: # remove downlaoded copy of celery rm -rf celery-5.1.2 celery-5.1.2.tar.gz + # Required build tools + pip install wheel + # Install shapely and cartopy manually with build isolation OFF pip install "numpy<1.24.0" # to match your constraints pip install shapely==1.8.5.post1 From 724a1b43b4bc76a1293ae2d8db26801c78012608 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Mon, 16 Jun 2025 11:14:57 +1000 Subject: [PATCH 07/27] testing --- .github/workflows/test.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1ae78ed9..2588ac27 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,6 +47,9 @@ jobs: pip install setuptools==65.5.1 python -m pip install --upgrade pip==24.0 + # Ensure cartopy's version tools are available + pip install wheel setuptools_scm + # patch to solve dependency issues with celery / fiona / click / pytz # download celery package wget https://files.pythonhosted.org/packages/source/c/celery/celery-5.1.2.tar.gz @@ -62,12 +65,10 @@ jobs: # remove downlaoded copy of celery rm -rf celery-5.1.2 celery-5.1.2.tar.gz - # Required build tools - pip install wheel - # Install shapely and cartopy manually with build isolation OFF pip install "numpy<1.24.0" # to match your constraints pip install shapely==1.8.5.post1 + # install cartopy without isolated build env pip install --no-build-isolation cartopy==0.20.3 pip install pytest-runner From bf25ef52f9c03c0cd5146d4a44fb358b4bc133aa Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Thu, 3 Jul 2025 17:07:47 +1000 Subject: [PATCH 08/27] rerun GH actions --- test_requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_requirements.txt b/test_requirements.txt index ddd32054..3c59cb42 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,2 +1,2 @@ -r requirements.txt --e .[testing] \ No newline at end of file +-e .[testing] From 418a98fbec55d0279616803373cba5c7caa17013 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Thu, 3 Jul 2025 17:15:39 +1000 Subject: [PATCH 09/27] testing --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2588ac27..515ff99b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -67,9 +67,9 @@ jobs: # Install shapely and cartopy manually with build isolation OFF pip install "numpy<1.24.0" # to match your constraints - pip install shapely==1.8.5.post1 + pip install --no-binary shapely shapely==1.8.5.post1 # install cartopy without isolated build env - pip install --no-build-isolation cartopy==0.20.3 + pip install --no-build-isolation --no-binary cartopy cartopy==0.20.3 pip install pytest-runner pip install pyshp From 2da3c8b080159be7eb55679f88bb449d1e39f75f Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Thu, 3 Jul 2025 17:26:32 +1000 Subject: [PATCH 10/27] testing --- constraints.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/constraints.txt b/constraints.txt index 2012344e..a336b109 100644 --- a/constraints.txt +++ b/constraints.txt @@ -7,4 +7,6 @@ numpy<1.24.0 # Limit pandas version until we update our code for the changes in v2.0 # see https://pandas.pydata.org/docs/whatsnew/v2.0.0.html#backwards-incompatible-api-changes -pandas<2.0 \ No newline at end of file +pandas<2.0 + +matplotlib<3.6 # Cartopy 0.20.3 requires matplotlib < 3.6 \ No newline at end of file From ff6ba51e4fc9e5270386d380af5cc359793a29ce Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 11:28:34 +1000 Subject: [PATCH 11/27] testing --- .github/workflows/test.yml | 44 ++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 515ff99b..1c01b5b2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,42 +41,36 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Install dependencies (inline, no external reqs) run: | - # Ensure compatible setuptools version for cartopy 0.20.3 (requires distutils) - pip install setuptools==65.5.1 - python -m pip install --upgrade pip==24.0 + # 1. Pin pip & setuptools so distutils & flags work + python -m pip install --upgrade pip==24.0 setuptools==65.5.1 wheel setuptools_scm - # Ensure cartopy's version tools are available - pip install wheel setuptools_scm + # 2. Pre-install build-time deps so Cartopy/Matplotlib metadata steps pass + python -m pip install \ + "numpy<1.24.0" \ + "matplotlib>=3.1,<3.6" --only-binary matplotlib - # patch to solve dependency issues with celery / fiona / click / pytz - # download celery package + # 3. Patch & install Celery 5.1.2 (locks in click==7.1.2 & sane pytz) wget https://files.pythonhosted.org/packages/source/c/celery/celery-5.1.2.tar.gz tar -xzf celery-5.1.2.tar.gz - cd celery-5.1.2 - # patch the requirements to use pytz>=2020.1 instead of pytz>dev which causes issues + pushd celery-5.1.2 sed -i "s/pytz>dev/pytz>=2020.1/g" requirements/default.txt - sed -i "s/pytz>dev/pytz>=2020.1/g" celery.egg-info/requires.txt sed -i "s/pytz>dev/pytz>=2020.1/g" requirements/dev.txt - # install the package + # install Celery into this venv python setup.py install - cd .. - # remove downlaoded copy of celery + popd rm -rf celery-5.1.2 celery-5.1.2.tar.gz - # Install shapely and cartopy manually with build isolation OFF - pip install "numpy<1.24.0" # to match your constraints - pip install --no-binary shapely shapely==1.8.5.post1 - # install cartopy without isolated build env - pip install --no-build-isolation --no-binary cartopy cartopy==0.20.3 - - pip install pytest-runner - pip install pyshp - pip install scipy - pip install -r stage_requirements.txt - pip install pytest-cov + # 4. Install Shapely & Cartopy exactly how they need it + python -m pip install shapely==1.8.5.post1 + python -m pip install \ + --no-build-isolation \ + --no-binary cartopy cartopy==0.20.3 + # 5. Install your package (editable) with testing extras, plus misc tools + python -m pip install -e .[testing] + python -m pip install pytest-runner pyshp scipy pytest-cov env: STAGE: ${{ matrix.stage }} - name: Test with pytest From c461adfee1694be0569f4df0292abf9880f1eb5d Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 11:36:24 +1000 Subject: [PATCH 12/27] testing --- .github/workflows/test.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1c01b5b2..6b93dd1a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,33 +46,38 @@ jobs: # 1. Pin pip & setuptools so distutils & flags work python -m pip install --upgrade pip==24.0 setuptools==65.5.1 wheel setuptools_scm - # 2. Pre-install build-time deps so Cartopy/Matplotlib metadata steps pass + # 2. Point pip at your IMOS PyPI repo (so aodntools>=1.3.1 is found) + export PIP_INDEX_URL="http://imos-artifacts.s3-website-ap-southeast-2.amazonaws.com/repo/pypi/${STAGE}/" + export PIP_EXTRA_INDEX_URL="https://pypi.python.org/simple/" + export PIP_TRUSTED_HOST="imos-artifacts.s3-website-ap-southeast-2.amazonaws.com" + + # 3. Pre-install build-time deps so Cartopy/Matplotlib metadata steps pass python -m pip install \ "numpy<1.24.0" \ "matplotlib>=3.1,<3.6" --only-binary matplotlib - # 3. Patch & install Celery 5.1.2 (locks in click==7.1.2 & sane pytz) + # 4. Patch & install Celery 5.1.2 (locks in click==7.1.2 & sane pytz) wget https://files.pythonhosted.org/packages/source/c/celery/celery-5.1.2.tar.gz tar -xzf celery-5.1.2.tar.gz pushd celery-5.1.2 sed -i "s/pytz>dev/pytz>=2020.1/g" requirements/default.txt sed -i "s/pytz>dev/pytz>=2020.1/g" requirements/dev.txt - # install Celery into this venv python setup.py install popd rm -rf celery-5.1.2 celery-5.1.2.tar.gz - # 4. Install Shapely & Cartopy exactly how they need it + # 5. Install Shapely & Cartopy exactly how they need it python -m pip install shapely==1.8.5.post1 python -m pip install \ --no-build-isolation \ --no-binary cartopy cartopy==0.20.3 - # 5. Install your package (editable) with testing extras, plus misc tools + # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] python -m pip install pytest-runner pyshp scipy pytest-cov env: STAGE: ${{ matrix.stage }} + - name: Test with pytest run: | pytest --cov=./ --cov-report=xml From 61d51ecf0b15d3369adb35bae66a83daa057c4db Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 11:57:27 +1000 Subject: [PATCH 13/27] testing --- .github/workflows/test.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6b93dd1a..da6604b9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -67,10 +67,8 @@ jobs: rm -rf celery-5.1.2 celery-5.1.2.tar.gz # 5. Install Shapely & Cartopy exactly how they need it - python -m pip install shapely==1.8.5.post1 - python -m pip install \ - --no-build-isolation \ - --no-binary cartopy cartopy==0.20.3 + python -m pip install --only-binary shapely,cartopy \ + shapely==1.8.5.post1 cartopy==0.20.3 # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] From 898b70f16eaa1469596badc2a97afe3f3d95ec58 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:01:42 +1000 Subject: [PATCH 14/27] testing --- .github/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da6604b9..02699e51 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,6 +8,9 @@ on: env: MPLBACKEND: agg + PIP_INDEX_URL: "http://imos-artifacts.s3-website-ap-southeast-2.amazonaws.com/repo/pypi/${{ matrix.stage }}/" + PIP_EXTRA_INDEX_URL: "https://pypi.org/simple/" + PIP_TRUSTED_HOST: "imos-artifacts.s3-website-ap-southeast-2.amazonaws.com" jobs: build: @@ -68,7 +71,8 @@ jobs: # 5. Install Shapely & Cartopy exactly how they need it python -m pip install --only-binary shapely,cartopy \ - shapely==1.8.5.post1 cartopy==0.20.3 + shapely==1.8.5.post1 cartopy==0.20.3 \ + --extra-index-url https://pypi.org/simple/ # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] From 102cb6aff153f9ddf4dfaaca78ad1c3649e9e84c Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:05:55 +1000 Subject: [PATCH 15/27] testing --- .github/workflows/test.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 02699e51..35f649da 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,9 +8,6 @@ on: env: MPLBACKEND: agg - PIP_INDEX_URL: "http://imos-artifacts.s3-website-ap-southeast-2.amazonaws.com/repo/pypi/${{ matrix.stage }}/" - PIP_EXTRA_INDEX_URL: "https://pypi.org/simple/" - PIP_TRUSTED_HOST: "imos-artifacts.s3-website-ap-southeast-2.amazonaws.com" jobs: build: @@ -51,7 +48,7 @@ jobs: # 2. Point pip at your IMOS PyPI repo (so aodntools>=1.3.1 is found) export PIP_INDEX_URL="http://imos-artifacts.s3-website-ap-southeast-2.amazonaws.com/repo/pypi/${STAGE}/" - export PIP_EXTRA_INDEX_URL="https://pypi.python.org/simple/" + export PIP_EXTRA_INDEX_URL="https://pypi.org/simple/" export PIP_TRUSTED_HOST="imos-artifacts.s3-website-ap-southeast-2.amazonaws.com" # 3. Pre-install build-time deps so Cartopy/Matplotlib metadata steps pass From 17dc32a4b8b27124572476ac66d4813d15999edf Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:50:35 +1000 Subject: [PATCH 16/27] testing --- .github/workflows/test.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 35f649da..b94184c1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,6 +37,7 @@ jobs: build-essential \ curl \ libcurl4-openssl-dev + python3-shapely python3-cartopy - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: @@ -66,12 +67,7 @@ jobs: popd rm -rf celery-5.1.2 celery-5.1.2.tar.gz - # 5. Install Shapely & Cartopy exactly how they need it - python -m pip install --only-binary shapely,cartopy \ - shapely==1.8.5.post1 cartopy==0.20.3 \ - --extra-index-url https://pypi.org/simple/ - - # 6. Install your own package (and its private deps) + test extras & tools + # 5. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] python -m pip install pytest-runner pyshp scipy pytest-cov env: From 6291735d2f76590cf06072a2c55960042fdcc2fc Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:54:20 +1000 Subject: [PATCH 17/27] testing --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b94184c1..997cd7fe 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,7 +37,9 @@ jobs: build-essential \ curl \ libcurl4-openssl-dev - python3-shapely python3-cartopy + python3-numpy \ + python3-shapely \ + python3-cartopy - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: From dee09dfafddb360f5a3f1577b2c3d1a6e32118d9 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:57:10 +1000 Subject: [PATCH 18/27] testing --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 997cd7fe..183f1768 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,7 +36,7 @@ jobs: libgtest-dev \ build-essential \ curl \ - libcurl4-openssl-dev + libcurl4-openssl-dev \ python3-numpy \ python3-shapely \ python3-cartopy From c30d8cee8ae29b0668db0e71ebb13f066f09ebee Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 12:59:20 +1000 Subject: [PATCH 19/27] testing --- .github/workflows/test.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 183f1768..4fc348db 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,18 +28,18 @@ jobs: - name: install additional required packages run: | sudo apt-get install -y --no-install-recommends \ - libudunits2-dev \ - libproj-dev \ - libgeos-dev \ - libffi-dev \ - cmake \ - libgtest-dev \ - build-essential \ - curl \ - libcurl4-openssl-dev \ - python3-numpy \ - python3-shapely \ - python3-cartopy + libudunits2-dev \ + libproj-dev \ + libgeos-dev \ + libffi-dev \ + cmake \ + libgtest-dev \ + build-essential \ + curl \ + libcurl4-openssl-dev \ + python3-numpy \ + python3-shapely \ + python3-cartopy - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: From 8d8fee05b9d0a72007e7e5f5414aa76726df727a Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:06:30 +1000 Subject: [PATCH 20/27] testing --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4fc348db..dd23ff1c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ '3.8' ] + python-version: [ '3.10' ] stage: [ 'build', 'rc', 'production'] fail-fast: false steps: From 78ed589d7e9b8b05373c68ebf61f6389db35c1e8 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:10:18 +1000 Subject: [PATCH 21/27] testing --- .github/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dd23ff1c..8ffb7d86 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ '3.10' ] + python-version: [ '3.8' ] stage: [ 'build', 'rc', 'production'] fail-fast: false steps: @@ -29,6 +29,7 @@ jobs: run: | sudo apt-get install -y --no-install-recommends \ libudunits2-dev \ + gdal-bin libgdal-dev \ libproj-dev \ libgeos-dev \ libffi-dev \ From dd4887a765b75be74606fbcdd97d265a8cee043e Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:16:46 +1000 Subject: [PATCH 22/27] testing --- .github/workflows/test.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8ffb7d86..f3866539 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -70,7 +70,14 @@ jobs: popd rm -rf celery-5.1.2 celery-5.1.2.tar.gz - # 5. Install your own package (and its private deps) + test extras & tools + # 5. build Shapely against system GEOS, but use Cartopy’s binary wheel + python -m pip install --no-binary shapely \ + shapely==1.8.5.post1 + python -m pip install --only-binary cartopy \ + cartopy==0.20.3 \ + --extra-index-url https://pypi.org/simple/ + + # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] python -m pip install pytest-runner pyshp scipy pytest-cov env: From 1aa7ab11201aa3d4c88efae58773906fdd2ba126 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:21:42 +1000 Subject: [PATCH 23/27] testing --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f3866539..040d9fe9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -72,10 +72,10 @@ jobs: # 5. build Shapely against system GEOS, but use Cartopy’s binary wheel python -m pip install --no-binary shapely \ - shapely==1.8.5.post1 - python -m pip install --only-binary cartopy \ - cartopy==0.20.3 \ - --extra-index-url https://pypi.org/simple/ + shapely==1.8.5.post1 + # Cartopy has no Linux wheel on PyPI—build from source against system GEOS/PROJ: + python -m pip install --no-build-isolation --no-binary cartopy \ + cartopy==0.20.3 # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] From a12b6d9020f05261996ada20195f7292b74099de Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:43:11 +1000 Subject: [PATCH 24/27] testing --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 040d9fe9..e8a59528 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,6 +58,7 @@ jobs: # 3. Pre-install build-time deps so Cartopy/Matplotlib metadata steps pass python -m pip install \ "numpy<1.24.0" \ + "pandas<2.0" \ "matplotlib>=3.1,<3.6" --only-binary matplotlib # 4. Patch & install Celery 5.1.2 (locks in click==7.1.2 & sane pytz) From 9d858a6a2e7cf23a1da3568639f1fa03f9ca7fb4 Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 13:54:37 +1000 Subject: [PATCH 25/27] reverting back to master as no longer required to fix GH Actions --- constraints.txt | 4 +--- stage_requirements.txt | 3 +-- test_requirements.txt | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/constraints.txt b/constraints.txt index a336b109..2012344e 100644 --- a/constraints.txt +++ b/constraints.txt @@ -7,6 +7,4 @@ numpy<1.24.0 # Limit pandas version until we update our code for the changes in v2.0 # see https://pandas.pydata.org/docs/whatsnew/v2.0.0.html#backwards-incompatible-api-changes -pandas<2.0 - -matplotlib<3.6 # Cartopy 0.20.3 requires matplotlib < 3.6 \ No newline at end of file +pandas<2.0 \ No newline at end of file diff --git a/stage_requirements.txt b/stage_requirements.txt index 41d248f2..b38335a6 100644 --- a/stage_requirements.txt +++ b/stage_requirements.txt @@ -4,5 +4,4 @@ -c constraints.txt -e . -e .[testing] -shapely==1.8.5.post1 # binary wheel, avoids numpy compatibility issues -cartopy==0.20.3 \ No newline at end of file +shapely --no-binary shapely # needed to install cartopy for compatibility diff --git a/test_requirements.txt b/test_requirements.txt index 3c59cb42..ddd32054 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,2 +1,2 @@ -r requirements.txt --e .[testing] +-e .[testing] \ No newline at end of file From e0738b18691008d6c95de7731aba4fa27bb6faea Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 15:09:40 +1000 Subject: [PATCH 26/27] Temporary to display installed packages --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e8a59528..09564042 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -81,6 +81,9 @@ jobs: # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] python -m pip install pytest-runner pyshp scipy pytest-cov + + # Debug: show all installed Python packages + python -m pip freeze env: STAGE: ${{ matrix.stage }} From 0ffddd6f3fe9d3af164b8a9f3ae90772f7341bee Mon Sep 17 00:00:00 2001 From: Michael Hemming Date: Fri, 4 Jul 2025 15:36:22 +1000 Subject: [PATCH 27/27] removing temporary pip freeze --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 09564042..e8a59528 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -81,9 +81,6 @@ jobs: # 6. Install your own package (and its private deps) + test extras & tools python -m pip install -e .[testing] python -m pip install pytest-runner pyshp scipy pytest-cov - - # Debug: show all installed Python packages - python -m pip freeze env: STAGE: ${{ matrix.stage }}