From 93427da80c9a113d767b219081abc62e2e31c8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 21:53:41 -0500 Subject: [PATCH 001/158] Update osgeo4w.yml remove quiet flag --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cfbb0f6ca14..0383a532710 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -50,7 +50,7 @@ jobs: $exe = 'osgeo4w-setup.exe' $url = 'http://download.osgeo.org/osgeo4w/v2/' + $exe (New-Object System.Net.WebClient).DownloadFile($url, $exe) - Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ + Start-Process ('.\'+$exe) -ArgumentList '-A -g -k \ -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -Wait env: Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ From 0189d27611ad5e45d29448aa0b62a3eab6a247ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 22:12:04 -0500 Subject: [PATCH 002/158] Use msys2 as default shell --- .github/workflows/osgeo4w.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 0383a532710..e0208b3ae21 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -26,12 +26,15 @@ jobs: os: - windows-2019 fail-fast: false - + defaults: + run: + shell: msys2 {0} steps: - name: Set git to use LF run: | git config --global core.autocrlf false git config --global core.eol lf + shell: pwsh - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: @@ -50,7 +53,7 @@ jobs: $exe = 'osgeo4w-setup.exe' $url = 'http://download.osgeo.org/osgeo4w/v2/' + $exe (New-Object System.Net.WebClient).DownloadFile($url, $exe) - Start-Process ('.\'+$exe) -ArgumentList '-A -g -k \ + Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -Wait env: Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ @@ -58,13 +61,14 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - + shell: pwsh - name: Compile GRASS GIS - run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) + run: .github/workflows/build_osgeo4w.sh . + #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) - name: Test executing of the grass command run: .github/workflows/test_simple.bat 'C:\OSGeo4W\opt\grass\grass84.bat' - + - run: exit 1 - name: Test executing of the grass command in bash run: D:\msys64\usr\bin\bash.exe .github/workflows/test_simple.sh From 60536ce2da58f0b3b8869a3847575749670c92dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 22:38:12 -0500 Subject: [PATCH 003/158] Update osgeo4w.yml monitor action --- .github/workflows/osgeo4w.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index e0208b3ae21..ea9c33e0e09 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -30,6 +30,10 @@ jobs: run: shell: msys2 {0} steps: + - name: Collect Workflow Telemetry + uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false - name: Set git to use LF run: | git config --global core.autocrlf false From 9585662e7d166f1c9d48c2d97b33c48e29cb417c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:10:49 -0500 Subject: [PATCH 004/158] Update osgeo4w.yml install osgeo4w differently --- .github/workflows/osgeo4w.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ea9c33e0e09..07a25306728 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -52,6 +52,20 @@ jobs: mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre + - name: Download and Install OSGeo4W + run: | + Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ + -OutFile "${{ env.FILE_NAME }}" + & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + env: + BASE_URL: https://download.osgeo.org/osgeo4w/v2/ + FILE_NAME: osgeo4w-setup.exe + Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ + pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ + python3-wxpython,regex-devel,zstd-devel" + - name: Install OSGeo4W run: | $exe = 'osgeo4w-setup.exe' From 61c3c8117791ec8d21cb558725c3e4a9b84be25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:14:29 -0500 Subject: [PATCH 005/158] Update osgeo4w.yml set pwsh shell --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 07a25306728..d0776988168 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -57,6 +57,7 @@ jobs: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ -OutFile "${{ env.FILE_NAME }}" & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2/ FILE_NAME: osgeo4w-setup.exe From b096205cf27e835fb4b0d09b14689cdb48413949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:19:24 -0500 Subject: [PATCH 006/158] Update osgeo4w.yml Remove extra slash at end of url --- .github/workflows/osgeo4w.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index d0776988168..499824de006 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -57,9 +57,8 @@ jobs: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ -OutFile "${{ env.FILE_NAME }}" & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} - shell: pwsh env: - BASE_URL: https://download.osgeo.org/osgeo4w/v2/ + BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ From d9d7bea041259c03906fca64d997e50c2bf32b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:25:27 -0500 Subject: [PATCH 007/158] Update osgeo4w.yml use pwsh shell to download osgeo4w --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 499824de006..8301d3c312a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -57,6 +57,7 @@ jobs: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ -OutFile "${{ env.FILE_NAME }}" & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe From 38c919c8424451f05e0e8e1a5cec3720ce32e9fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:29:56 -0500 Subject: [PATCH 008/158] Update osgeo4w.yml remove line split --- .github/workflows/osgeo4w.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 8301d3c312a..287757fb655 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -54,9 +54,8 @@ jobs: - name: Download and Install OSGeo4W run: | - Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ - -OutFile "${{ env.FILE_NAME }}" - & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" + & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 From d55e2d6305ad31c86ce5ff3d0b3c418016fa5361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:37:24 -0500 Subject: [PATCH 009/158] Update osgeo4w.yml Add wait to OSGeo4W install, comment out old installation --- .github/workflows/osgeo4w.yml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 287757fb655..6bb80dae437 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -54,8 +54,9 @@ jobs: - name: Download and Install OSGeo4W run: | - Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" - & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ + -OutFile "${{ env.FILE_NAME }}" + & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -Wait shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 @@ -66,20 +67,20 @@ jobs: python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - - name: Install OSGeo4W - run: | - $exe = 'osgeo4w-setup.exe' - $url = 'http://download.osgeo.org/osgeo4w/v2/' + $exe - (New-Object System.Net.WebClient).DownloadFile($url, $exe) - Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ - -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -Wait - env: - Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ - pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ - python3-wxpython,regex-devel,zstd-devel" - shell: pwsh + # - name: Install OSGeo4W + # run: | + # $exe = 'osgeo4w-setup.exe' + # $url = 'http://download.osgeo.org/osgeo4w/v2/' + $exe + # (New-Object System.Net.WebClient).DownloadFile($url, $exe) + # Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ + # -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -Wait + # env: + # Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ + # pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ + # gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ + # python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ + # python3-wxpython,regex-devel,zstd-devel" + # shell: pwsh - name: Compile GRASS GIS run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From 5dcaed4240825fb286c2bc0ca6d72643064c9848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:41:51 -0500 Subject: [PATCH 010/158] Update osgeo4w.yml Remove \ at end of line in OSGeo4w install --- .github/workflows/osgeo4w.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 6bb80dae437..2bb28a764c3 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -54,8 +54,7 @@ jobs: - name: Download and Install OSGeo4W run: | - Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" \ - -OutFile "${{ env.FILE_NAME }}" + Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -Wait shell: pwsh env: From eb7090ed0965e4d7c374d7d8a03d72ae25ed3f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:48:23 -0500 Subject: [PATCH 011/158] Update osgeo4w.yml Remove -Wait in execution of osgeo4w setup --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 2bb28a764c3..cab20bd1f2f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -55,7 +55,7 @@ jobs: - name: Download and Install OSGeo4W run: | Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" - & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -Wait + & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 From 653e53a797f1134bd6724723b5dc334d3b14a982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 00:04:04 -0500 Subject: [PATCH 012/158] Update osgeo4w.yml download and install separately --- .github/workflows/osgeo4w.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cab20bd1f2f..1e750a9143b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -55,6 +55,17 @@ jobs: - name: Download and Install OSGeo4W run: | Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" + shell: pwsh + env: + BASE_URL: https://download.osgeo.org/osgeo4w/v2 + FILE_NAME: osgeo4w-setup.exe + Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ + pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ + python3-wxpython,regex-devel,zstd-devel" + - name: Install OSGeo4W + run: | & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: From 2de1300fe76e51afc110700d6cd8fcb870f623fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 00:22:07 -0500 Subject: [PATCH 013/158] Update osgeo4w.yml --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1e750a9143b..499fabb0865 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,7 +66,7 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | - & "./${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 From 6c61da60dc8d99f213d27a270f100ab05fccee62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 00:30:08 -0500 Subject: [PATCH 014/158] Update osgeo4w.yml Retry adding -PassThru --- .github/workflows/osgeo4w.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 499fabb0865..1cc4883edc9 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,7 +66,10 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | - .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ + -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -PassThru -Wait + + # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 From d33508b7c504945b525f17fbecdb21521e619ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 00:34:56 -0500 Subject: [PATCH 015/158] Update osgeo4w.yml $exe variable --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1cc4883edc9..4c9c82ef222 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,6 +66,7 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | + $exe = 'osgeo4w-setup.exe' Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -PassThru -Wait From f3ba5b096d26dd28a925148972e9e3c5e62e8f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:18:49 -0500 Subject: [PATCH 016/158] Update osgeo4w.yml -NoNewWindow --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 4c9c82ef222..53a1d412e11 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -68,7 +68,7 @@ jobs: run: | $exe = 'osgeo4w-setup.exe' Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ - -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -PassThru -Wait + -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh From 6c6479823cf38f10ddbb856d9e09029301eda002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 11:27:50 -0500 Subject: [PATCH 017/158] Update osgeo4w.yml use direct call --- .github/workflows/osgeo4w.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 53a1d412e11..1aa7aeb60f0 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,16 +66,22 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | - $exe = 'osgeo4w-setup.exe' - Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ - -s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow + & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + #$exe = 'osgeo4w-setup.exe' + #Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ + #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ + Deps: ${{'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, + pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, + python3-wxpython,regex-devel,zstd-devel'}} + Deps1: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ From e4450af537ab80ad89e3e4244996d10b203af0fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 11:40:06 -0500 Subject: [PATCH 018/158] Update osgeo4w.yml Out-Default --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1aa7aeb60f0..729b3e3d563 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,7 +66,7 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | - & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} + & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} | Out-Default #$exe = 'osgeo4w-setup.exe' #Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow From 9085d94638d09242741cba358cf026d6f18214c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 11:51:02 -0500 Subject: [PATCH 019/158] Update osgeo4w.yml no spaces --- .github/workflows/osgeo4w.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 729b3e3d563..1af4683d51d 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -76,11 +76,7 @@ jobs: env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: ${{'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, - pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, - python3-wxpython,regex-devel,zstd-devel'}} + Deps: ${{'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,regex-devel,zstd-devel'}} Deps1: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ From 0bc57ae049009a5d48d7da681c493ad0ea392408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 14:54:22 -0500 Subject: [PATCH 020/158] Update osgeo4w.yml add local package dir --- .github/workflows/osgeo4w.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1af4683d51d..475bc6838e9 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -66,7 +66,7 @@ jobs: python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | - & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} | Out-Default + & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l ${{ env.PackageDir }} | Out-Default #$exe = 'osgeo4w-setup.exe' #Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow @@ -82,7 +82,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - + PackageDir: %TEMP%/OSGeo4W_v2-Packages/ # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' @@ -97,6 +97,10 @@ jobs: # python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ # python3-wxpython,regex-devel,zstd-devel" # shell: pwsh + - uses: actions/upload-artifact@v4 + with: + name: osgeo4w-cache + path: %TEMP%/OSGeo4W_v2-Packages/ - name: Compile GRASS GIS run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From 52f895e3e3751db5859ef371cdf2a4c68618439d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 14:57:54 -0500 Subject: [PATCH 021/158] Update osgeo4w.yml add single quote to path --- .github/workflows/osgeo4w.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 475bc6838e9..24aa1496ec7 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -69,8 +69,7 @@ jobs: & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l ${{ env.PackageDir }} | Out-Default #$exe = 'osgeo4w-setup.exe' #Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ - #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow - + #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} shell: pwsh env: @@ -82,7 +81,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - PackageDir: %TEMP%/OSGeo4W_v2-Packages/ + PackageDir: '%TEMP%/OSGeo4W_v2-Packages/' # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' From cff4cb0406bb91c6e886d10466f2de610122914a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:02:07 -0500 Subject: [PATCH 022/158] Update osgeo4w.yml quote temp --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 24aa1496ec7..a5e392f45ba 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -99,7 +99,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: osgeo4w-cache - path: %TEMP%/OSGeo4W_v2-Packages/ + path: '%TEMP%/OSGeo4W_v2-Packages/' - name: Compile GRASS GIS run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From a3f26c2bc32627c274959a9248e7d7ecb3e49220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:13:27 -0500 Subject: [PATCH 023/158] Update osgeo4w.yml list files in cache --- .github/workflows/osgeo4w.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index a5e392f45ba..e609876f3ca 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -82,6 +82,10 @@ jobs: python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" PackageDir: '%TEMP%/OSGeo4W_v2-Packages/' + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending + shell: pwsh + env: + PackageDir: '%TEMP%/OSGeo4W_v2-Packages/' # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' From 5d274a7a503595534de5375745a51633886c3644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:16:04 -0500 Subject: [PATCH 024/158] Update osgeo4w.yml --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index e609876f3ca..6cc2434caee 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -39,6 +39,9 @@ jobs: git config --global core.autocrlf false git config --global core.eol lf shell: pwsh + env: + tempdir2: ${{ env.TEMP }} + tempdir3: ${{ runner.temp }} - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: From b0a42a4761833f0594dbfed2919b147caeaa532d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:26:14 -0500 Subject: [PATCH 025/158] Update osgeo4w.yml --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 6cc2434caee..9802afa202f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -42,6 +42,9 @@ jobs: env: tempdir2: ${{ env.TEMP }} tempdir3: ${{ runner.temp }} + - run: echo %TEMP% + shell: cmd + - run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: From d96aa2b04329ed96052d2ed4582ce010cd6e4add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:30:41 -0500 Subject: [PATCH 026/158] Update osgeo4w.yml see temp --- .github/workflows/osgeo4w.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9802afa202f..be6cf08ef66 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -44,6 +44,10 @@ jobs: tempdir3: ${{ runner.temp }} - run: echo %TEMP% shell: cmd + - run: echo %TEMP% + shell: pwsh + - run: echo $env:TEMP + shell: pwsh - run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 From 0f321d69fd067a2beca1e2edaadf7b805f92538c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:37:16 -0500 Subject: [PATCH 027/158] Update osgeo4w.yml try using env temp --- .github/workflows/osgeo4w.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index be6cf08ef66..00d820963d9 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,9 +46,13 @@ jobs: shell: cmd - run: echo %TEMP% shell: pwsh - - run: echo $env:TEMP + - run: echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV shell: pwsh - - run: exit 1 + - run: echo ${{ env.PackageDir }} + shell: pwsh + env: + PackageDir: ${{ env.TEMP '/OSGeo4W_v2-Packages/' }} + #- run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: @@ -91,7 +95,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - PackageDir: '%TEMP%/OSGeo4W_v2-Packages/' + PackageDir: ${{ env.TEMP '/OSGeo4W_v2-Packages/' }} - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending shell: pwsh env: From 565603aad01d87fb413501c183e6ab8e911f9b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:39:30 -0500 Subject: [PATCH 028/158] Update osgeo4w.yml fix invalid workflow --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 00d820963d9..25af7c17c12 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -51,7 +51,7 @@ jobs: - run: echo ${{ env.PackageDir }} shell: pwsh env: - PackageDir: ${{ env.TEMP '/OSGeo4W_v2-Packages/' }} + PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" #- run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 @@ -95,7 +95,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - PackageDir: ${{ env.TEMP '/OSGeo4W_v2-Packages/' }} + PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending shell: pwsh env: From 6957e47a0d019f7f97547498927e86d613d163a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 15:47:27 -0500 Subject: [PATCH 029/158] Update osgeo4w.yml directory listing --- .github/workflows/osgeo4w.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 25af7c17c12..5f96c1feef0 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -99,7 +99,11 @@ jobs: - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending shell: pwsh env: - PackageDir: '%TEMP%/OSGeo4W_v2-Packages/' + PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending + shell: pwsh + env: + PackageDir: "${{ env.TEMP }}/http*/" # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' @@ -117,7 +121,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: osgeo4w-cache - path: '%TEMP%/OSGeo4W_v2-Packages/' + path: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - name: Compile GRASS GIS run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From af0919d238cf0fc303c653ee94ce7af10c9d633e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 16:06:00 -0500 Subject: [PATCH 030/158] Update osgeo4w.yml directory listing --- .github/workflows/osgeo4w.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5f96c1feef0..f17b1b3d696 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -100,10 +100,14 @@ jobs: shell: pwsh env: PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + - run: Get-ChildItem -Path ${{ env.PackageDir }} -File + shell: pwsh + env: + PackageDir: "${{ env.TEMP }}/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending shell: pwsh env: - PackageDir: "${{ env.TEMP }}/http*/" + PackageDir: "${{ env.TEMP }}/" # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' From f7f3e484b716821844c0eaaeadbbe5326c37a2ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 17:58:20 -0500 Subject: [PATCH 031/158] Update osgeo4w.yml proj data cache --- .github/workflows/osgeo4w.yml | 37 +++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f17b1b3d696..e637a47b8e1 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,12 +46,14 @@ jobs: shell: cmd - run: echo %TEMP% shell: pwsh - - run: echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV + - run: | + echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV + echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV shell: pwsh - run: echo ${{ env.PackageDir }} shell: pwsh env: - PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + PackageDir2: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" #- run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 @@ -65,8 +67,12 @@ jobs: mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre - - - name: Download and Install OSGeo4W + - uses: actions/cache@v4 + name: Cache PROJ data + with: + key: OSGeo4W-proj-data-cache + path: ${{ env.PackageDir }}/**/proj-data** + - name: Download OSGeo4W run: | Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" shell: pwsh @@ -95,11 +101,11 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ python3-wxpython,regex-devel,zstd-devel" - PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending shell: pwsh env: - PackageDir: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -File shell: pwsh env: @@ -122,19 +128,20 @@ jobs: # python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ # python3-wxpython,regex-devel,zstd-devel" # shell: pwsh + - uses: actions/upload-artifact@v4 with: name: osgeo4w-cache path: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - - name: Compile GRASS GIS - run: .github/workflows/build_osgeo4w.sh . + #- name: Compile GRASS GIS + # run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) - - name: Test executing of the grass command - run: .github/workflows/test_simple.bat 'C:\OSGeo4W\opt\grass\grass84.bat' - - run: exit 1 - - name: Test executing of the grass command in bash - run: D:\msys64\usr\bin\bash.exe .github/workflows/test_simple.sh + #- name: Test executing of the grass command + # run: .github/workflows/test_simple.bat 'C:\OSGeo4W\opt\grass\grass84.bat' + #- run: exit 1 + #- name: Test executing of the grass command in bash + # run: D:\msys64\usr\bin\bash.exe .github/workflows/test_simple.sh - - name: Run tests - run: .github/workflows/test_thorough.bat 'C:\OSGeo4W\opt\grass\grass84.bat' 'C:\OSGeo4W\bin\python3' + #- name: Run tests + #run: .github/workflows/test_thorough.bat 'C:\OSGeo4W\opt\grass\grass84.bat' 'C:\OSGeo4W\bin\python3' From 445b16d94b9163693efc7b9554d163ab52e7f1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 18:00:18 -0500 Subject: [PATCH 032/158] Update osgeo4w.yml cache v3 --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index e637a47b8e1..b148e38eb70 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -67,7 +67,7 @@ jobs: mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre - - uses: actions/cache@v4 + - uses: actions/cache@v3 name: Cache PROJ data with: key: OSGeo4W-proj-data-cache From 23d864d48d81846446e6a18d0a7e72672756706b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 31 Dec 2023 18:14:59 -0500 Subject: [PATCH 033/158] Update osgeo4w.yml --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b148e38eb70..923079d621a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -132,7 +132,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: osgeo4w-cache - path: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + path: "${{ env.TEMP }}/**dd**" #- name: Compile GRASS GIS # run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From 56dc057abee569fd04d43a077f91a54eca012780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 18:49:48 -0500 Subject: [PATCH 034/158] Clean old package cache --- .github/workflows/osgeo4w.yml | 93 +++++++++++++++++++---------------- 1 file changed, 51 insertions(+), 42 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 923079d621a..f7c440a0f88 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -26,9 +26,9 @@ jobs: os: - windows-2019 fail-fast: false - defaults: - run: - shell: msys2 {0} + # defaults: + # run: + # shell: msys2 {0} steps: - name: Collect Workflow Telemetry uses: catchpoint/workflow-telemetry-action@v1 @@ -38,22 +38,20 @@ jobs: run: | git config --global core.autocrlf false git config --global core.eol lf - shell: pwsh - env: - tempdir2: ${{ env.TEMP }} - tempdir3: ${{ runner.temp }} + # shell: pwsh + # env: + # # tempdir2: ${{ env.TEMP }} + # tempdir3: ${{ runner.temp }} - run: echo %TEMP% shell: cmd - - run: echo %TEMP% - shell: pwsh - run: | echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV - echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV - shell: pwsh + echo "PackageDir=${{ github.workspace }}OSGeo4W_v2-Packages" >> $env:GITHUB_ENV + # shell: pwsh - run: echo ${{ env.PackageDir }} - shell: pwsh - env: - PackageDir2: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + # shell: pwsh + # env: + # PackageDir2: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" #- run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 @@ -73,45 +71,56 @@ jobs: key: OSGeo4W-proj-data-cache path: ${{ env.PackageDir }}/**/proj-data** - name: Download OSGeo4W - run: | - Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" - shell: pwsh + run: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" + # shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ - pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ - python3-wxpython,regex-devel,zstd-devel" - name: Install OSGeo4W run: | & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l ${{ env.PackageDir }} | Out-Default - #$exe = 'osgeo4w-setup.exe' - #Start-Process ('.\'+$exe) -ArgumentList '-A -g -k -q \ - #-s http://download.osgeo.org/osgeo4w/v2/ -P ${{ env.Deps }}' -NoNewWindow - # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} - shell: pwsh + # shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: ${{'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,regex-devel,zstd-devel'}} - Deps1: "proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,\ - pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,\ - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,\ - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,\ - python3-wxpython,regex-devel,zstd-devel" - PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + Deps: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, + pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, + python3-wxpython,regex-devel,zstd-devel + # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - shell: pwsh + - name: Remove outdated OSGeo4W cached packages + shell: msys2 {0} + # First sed pattern: + # Filters out the lines after the [prev] section until next blank line by + # keeping lines between "@ osgeo4w-package-name" and "[prev]" or a blank line. + # Second sed pattern: + # Keeps only the path subgroup of lines starting with `install:` or `license:` + # Pattern is longer to use older sed syntax + + run: >- + find ${{ env.PackageDir }} -type f \( + ! -name "setup.ini" + $( + sed -rne '/^@ .*$/,/^(\[prev\])?$/p' setup.ini | + sed -n 's/^\(^install:\)\{0,1\}\(^license:\)\{0,1\}\s\{1,\}\(\S\{1,\}\)\s\{1,\}[0-9]\{1,\}\s\{1,\}\S\{1,\}/\3/p' | + xargs printf ' -a ! -path ${{ env.PackageDir }}/http*/%s\n' + ) + \) env: - PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + PackageDir: ${{ env.PackageDir }} + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending + # shell: pwsh + # env: + # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -File - shell: pwsh + # shell: pwsh env: PackageDir: "${{ env.TEMP }}/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - shell: pwsh + # shell: pwsh env: PackageDir: "${{ env.TEMP }}/" # - name: Install OSGeo4W @@ -129,10 +138,10 @@ jobs: # python3-wxpython,regex-devel,zstd-devel" # shell: pwsh - - uses: actions/upload-artifact@v4 - with: - name: osgeo4w-cache - path: "${{ env.TEMP }}/**dd**" + # - uses: actions/upload-artifact@v4 + # with: + # name: osgeo4w-cache + # path: "${{ env.TEMP }}/**dd**" #- name: Compile GRASS GIS # run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) From 442fe9136d95c12b886f40a7db3dbcb39d6ea277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:00:03 -0500 Subject: [PATCH 035/158] Fix PackageDir path --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f7c440a0f88..fc94b1f7e53 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,7 +46,7 @@ jobs: shell: cmd - run: | echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV - echo "PackageDir=${{ github.workspace }}OSGeo4W_v2-Packages" >> $env:GITHUB_ENV + echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV # shell: pwsh - run: echo ${{ env.PackageDir }} # shell: pwsh From 3a2b6797421e23a93d3c542c6a3d300ca0b7ea84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:23:23 -0500 Subject: [PATCH 036/158] Fix find errors --- .github/workflows/osgeo4w.yml | 37 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index fc94b1f7e53..34fc65556b6 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -78,7 +78,7 @@ jobs: FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | - & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l ${{ env.PackageDir }} | Out-Default + & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default # shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 @@ -96,33 +96,32 @@ jobs: # First sed pattern: # Filters out the lines after the [prev] section until next blank line by # keeping lines between "@ osgeo4w-package-name" and "[prev]" or a blank line. + # Adapted from: https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-helpers#L376 # Second sed pattern: # Keeps only the path subgroup of lines starting with `install:` or `license:` - # Pattern is longer to use older sed syntax - + # Adapted from https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-inorder.pl#L22-L23 run: >- - find ${{ env.PackageDir }} -type f \( - ! -name "setup.ini" - $( - sed -rne '/^@ .*$/,/^(\[prev\])?$/p' setup.ini | - sed -n 's/^\(^install:\)\{0,1\}\(^license:\)\{0,1\}\s\{1,\}\(\S\{1,\}\)\s\{1,\}[0-9]\{1,\}\s\{1,\}\S\{1,\}/\3/p' | - xargs printf ' -a ! -path ${{ env.PackageDir }}/http*/%s\n' - ) - \) + pwd \n + find ${{ env.PackageDir }} -type f \( ! -name "setup.ini" $( + sed -rne '/^@ .*$/,/^(\[prev\])?$/p' setup.ini | + sed -nr 's/^(install|source|license):\s+(\S+)\s+[0-9]+\s+\S+/\2/p' | + xargs printf ' -a ! -path ${{ env.PackageDir }}/http*/%s\n' + ) \) + continue-on-error: true env: PackageDir: ${{ env.PackageDir }} - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending # shell: pwsh # env: # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - - run: Get-ChildItem -Path ${{ env.PackageDir }} -File - # shell: pwsh - env: - PackageDir: "${{ env.TEMP }}/" - - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - # shell: pwsh - env: - PackageDir: "${{ env.TEMP }}/" + # - run: Get-ChildItem -Path ${{ env.PackageDir }} -File + # # shell: pwsh + # env: + # PackageDir: "${{ env.TEMP }}/" + # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending + # # shell: pwsh + # env: + # PackageDir: "${{ env.TEMP }}/" # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' From 8b9db8e6d3d36211c8edc961b43579be687e4016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:32:50 -0500 Subject: [PATCH 037/158] See hashfiles proj --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 34fc65556b6..393ad37fe7d 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -70,6 +70,7 @@ jobs: with: key: OSGeo4W-proj-data-cache path: ${{ env.PackageDir }}/**/proj-data** + - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - name: Download OSGeo4W run: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" # shell: pwsh @@ -110,6 +111,8 @@ jobs: continue-on-error: true env: PackageDir: ${{ env.PackageDir }} + - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending # shell: pwsh # env: From f0b3d90bef024eee2a5d0fcd11f2a30064842a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 22:52:40 -0500 Subject: [PATCH 038/158] Restore and save proj-data and package cache --- .github/workflows/osgeo4w.yml | 70 ++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 5 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 393ad37fe7d..af63887179e 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -65,11 +65,41 @@ jobs: mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre - - uses: actions/cache@v3 - name: Cache PROJ data + + - name: Restore PROJ data cache + id: restore-proj-data + uses: actions/cache/restore@v3 with: - key: OSGeo4W-proj-data-cache - path: ${{ env.PackageDir }}/**/proj-data** + # The key here will never match, it will always use the restore-keys. + # Since we don't have a lockfile or a way of knowing which + # version of proj-data is needed used, we cannot have a better key. + key: OSGeo4W-proj-data-${{ env.PackageDir }}- + restore-keys: | + OSGeo4W-proj-data-${{ env.PackageDir }}- + - name: Restore OSGeo4W package cache + id: restore-pkgs + uses: actions/cache/restore@v3 + with: + # The key here will never match, it will always use the restore-keys. + # Since we don't have a lockfile or a way of knowing which + # dependencies were used, we cannot use hashfiles() on files that + # don't exist yet. + key: OSGeo4W-packages-cache-${{ env.PackageDir }}- + restore-keys: | + OSGeo4W-packages-cache-${{ env.PackageDir }}- + - name: Save hashes of restored cache before update + id: restored-cache-hash + run: | + echo "proj-data=${{ hashfiles( + format('{0}/**/proj-data**', env.PackageDir) ) + }}" >> "$env:GITHUB_OUTPUT" + echo "packages=${{ hashfiles( + format('{0}/**', env.PackageDir), + format('!{0}/**/proj-data**', env.PackageDir), + format('!{0}/**/gdal-dev/**', env.PackageDir), + format('!{0}/**/setup.ini', env.PackageDir) ) + }}" >> "$env:GITHUB_OUTPUT" + - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - name: Download OSGeo4W run: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" @@ -90,7 +120,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, python3-wxpython,regex-devel,zstd-devel - # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" + # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - name: Remove outdated OSGeo4W cached packages shell: msys2 {0} @@ -144,6 +174,35 @@ jobs: # with: # name: osgeo4w-cache # path: "${{ env.TEMP }}/**dd**" + - name: Get hashes of caches to save + id: save-cache-hash + run: | + echo "proj-data=${{ hashfiles( + format('{0}/**/proj-data**', env.PackageDir) ) + }}" >> "$env:GITHUB_OUTPUT" + echo "packages=${{ hashfiles( + format('{0}/**', env.PackageDir), + format('!{0}/**/proj-data**', env.PackageDir), + format('!{0}/**/gdal-dev/**', env.PackageDir), + format('!{0}/**/setup.ini', env.PackageDir) ) + }}" >> "$env:GITHUB_OUTPUT" + - name: Save proj-data cache + if: ${{ steps.restored-cache-hash.outputs.proj-data != steps.save-cache-hash.outputs.proj-data }} + uses: actions/cache/save@v3 + with: + key: OSGeo4W-proj-data-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.proj-data }} + path: ${{ env.PackageDir }}/**/proj-data** + - name: Save OSGeo4W package cache + if: ${{ steps.restored-cache-hash.outputs.packages != steps.save-cache-hash.outputs.packages }} + uses: actions/cache/save@v3 + with: + key: OSGeo4W-packages-cache-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.packages }} + path: | + ${{ env.PackageDir }}/** + !${{ env.PackageDir }}/**/proj-data** + !${{ env.PackageDir }}/**/gdal-dev/** + !${{ env.PackageDir }}/**/setup.ini + #- name: Compile GRASS GIS # run: .github/workflows/build_osgeo4w.sh . #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) @@ -156,3 +215,4 @@ jobs: #- name: Run tests #run: .github/workflows/test_thorough.bat 'C:\OSGeo4W\opt\grass\grass84.bat' 'C:\OSGeo4W\bin\python3' + \ No newline at end of file From b2e1f3ef85e19a14b95843c2a3c216d7c5b9b72e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 22:58:25 -0500 Subject: [PATCH 039/158] Add path on restore-key --- .github/workflows/osgeo4w.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index af63887179e..f241c0ff1db 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -76,6 +76,7 @@ jobs: key: OSGeo4W-proj-data-${{ env.PackageDir }}- restore-keys: | OSGeo4W-proj-data-${{ env.PackageDir }}- + path: ${{ env.PackageDir }}/**/proj-data** - name: Restore OSGeo4W package cache id: restore-pkgs uses: actions/cache/restore@v3 @@ -87,6 +88,12 @@ jobs: key: OSGeo4W-packages-cache-${{ env.PackageDir }}- restore-keys: | OSGeo4W-packages-cache-${{ env.PackageDir }}- + path: | + ${{ env.PackageDir }}/** + !${{ env.PackageDir }}/**/proj-data** + !${{ env.PackageDir }}/**/gdal-dev/** + !${{ env.PackageDir }}/**/setup.ini + - name: Save hashes of restored cache before update id: restored-cache-hash run: | From 204c9705e0761f34fc6053428bfec840979be410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:24:27 -0500 Subject: [PATCH 040/158] Update osgeo4w.yml start of glob for cache --- .github/workflows/osgeo4w.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f241c0ff1db..62291cb6c5e 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -26,9 +26,6 @@ jobs: os: - windows-2019 fail-fast: false - # defaults: - # run: - # shell: msys2 {0} steps: - name: Collect Workflow Telemetry uses: catchpoint/workflow-telemetry-action@v1 @@ -38,21 +35,8 @@ jobs: run: | git config --global core.autocrlf false git config --global core.eol lf - # shell: pwsh - # env: - # # tempdir2: ${{ env.TEMP }} - # tempdir3: ${{ runner.temp }} - - run: echo %TEMP% - shell: cmd - run: | - echo "TEMP=$env:TEMP" >> $env:GITHUB_ENV echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV - # shell: pwsh - - run: echo ${{ env.PackageDir }} - # shell: pwsh - # env: - # PackageDir2: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - #- run: exit 1 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: @@ -65,7 +49,6 @@ jobs: mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre - - name: Restore PROJ data cache id: restore-proj-data uses: actions/cache/restore@v3 @@ -89,8 +72,8 @@ jobs: restore-keys: | OSGeo4W-packages-cache-${{ env.PackageDir }}- path: | - ${{ env.PackageDir }}/** - !${{ env.PackageDir }}/**/proj-data** + ${{ env.PackageDir }}/*/*/*/* + !${{ env.PackageDir }}/*/*/*/proj/proj-data !${{ env.PackageDir }}/**/gdal-dev/** !${{ env.PackageDir }}/**/setup.ini From b72a5adddf1d5220b0e7573648ff01940a9834cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:30:04 -0500 Subject: [PATCH 041/158] Update osgeo4w.yml reenable compilation --- .github/workflows/osgeo4w.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 62291cb6c5e..f5aba7c5854 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -193,16 +193,23 @@ jobs: !${{ env.PackageDir }}/**/gdal-dev/** !${{ env.PackageDir }}/**/setup.ini - #- name: Compile GRASS GIS - # run: .github/workflows/build_osgeo4w.sh . + - name: Compile GRASS GIS + run: .github/workflows/build_osgeo4w.sh . + shell: msys2 {0} + env: + MAKEFLAGS: -j0 #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) - #- name: Test executing of the grass command - # run: .github/workflows/test_simple.bat 'C:\OSGeo4W\opt\grass\grass84.bat' + - name: Test executing of the grass command + run: .github/workflows/test_simple.bat 'C:\OSGeo4W\opt\grass\grass84.bat' + #shell: msys2 {0} #- run: exit 1 - #- name: Test executing of the grass command in bash + - name: Test executing of the grass command in bash + run: .github/workflows/test_simple.sh + shell: msys2 {0} # run: D:\msys64\usr\bin\bash.exe .github/workflows/test_simple.sh - #- name: Run tests + - name: Run tests + run: .github/workflows/test_thorough.bat 'C:\OSGeo4W\opt\grass\grass84.bat' 'C:\OSGeo4W\bin\python3' #run: .github/workflows/test_thorough.bat 'C:\OSGeo4W\opt\grass\grass84.bat' 'C:\OSGeo4W\bin\python3' \ No newline at end of file From decaf96c1992a923ad777bece426fcb2cfeaaa3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:44:43 -0500 Subject: [PATCH 042/158] Update osgeo4w.yml mswindows/osgeo4w/build_osgeo4w.sh --- .github/workflows/osgeo4w.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f5aba7c5854..a63a0f6f702 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -194,10 +194,17 @@ jobs: !${{ env.PackageDir }}/**/setup.ini - name: Compile GRASS GIS - run: .github/workflows/build_osgeo4w.sh . + run: mswindows/osgeo4w/build_osgeo4w.sh . shell: msys2 {0} env: MAKEFLAGS: -j0 + OSGEO4W_ROOT_MSYS: /c/OSGeo4W + UNITTEST: 1 + #- name: Compile GRASS GIS + #run: .github/workflows/build_osgeo4w.sh . + #shell: msys2 {0} + #env: + #MAKEFLAGS: -j0 #run: D:\msys64\usr\bin\bash.exe -l (''+(Get-Location)+'\.github\workflows\build_osgeo4w.sh') (Get-Location) - name: Test executing of the grass command From 72d1fedb595410921014f4c37804919b980fd3c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:45:58 -0500 Subject: [PATCH 043/158] Update build_osgeo4w.sh remove liblas --- mswindows/osgeo4w/build_osgeo4w.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index ecb6e951f5c..aa6e0fb623a 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -62,7 +62,6 @@ export ARCH=x86_64-w64-mingw32 --with-cairo-ldflags="-L${SRC}/mswindows/osgeo4w/lib -lcairo" \ --with-opengl=windows \ --with-bzlib \ - --with-liblas=${SRC}/mswindows/osgeo4w/liblas-config \ --with-netcdf=${OSGEO4W_ROOT_MSYS}/bin/nc-config \ --without-pdal From 4b69d71056272cb427317191d21d314edb916f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 12:44:58 -0500 Subject: [PATCH 044/158] Clean workflow --- .github/workflows/osgeo4w.yml | 40 ++++++++++++----------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index a63a0f6f702..cc465d09d7a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -74,8 +74,8 @@ jobs: path: | ${{ env.PackageDir }}/*/*/*/* !${{ env.PackageDir }}/*/*/*/proj/proj-data - !${{ env.PackageDir }}/**/gdal-dev/** - !${{ env.PackageDir }}/**/setup.ini + !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev + !${{ env.PackageDir }}/*/*/setup.ini - name: Save hashes of restored cache before update id: restored-cache-hash @@ -93,14 +93,12 @@ jobs: - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - name: Download OSGeo4W run: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" - # shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # shell: pwsh env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe @@ -110,8 +108,7 @@ jobs: gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, python3-wxpython,regex-devel,zstd-devel - # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending - name: Remove outdated OSGeo4W cached packages shell: msys2 {0} # First sed pattern: @@ -133,18 +130,8 @@ jobs: PackageDir: ${{ env.PackageDir }} - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - # shell: pwsh - # env: - # PackageDir3: "${{ env.TEMP }}/OSGeo4W_v2-Packages/" - # - run: Get-ChildItem -Path ${{ env.PackageDir }} -File - # # shell: pwsh - # env: - # PackageDir: "${{ env.TEMP }}/" - # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length –Descending - # # shell: pwsh - # env: - # PackageDir: "${{ env.TEMP }}/" + - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending + # - name: Install OSGeo4W # run: | # $exe = 'osgeo4w-setup.exe' @@ -160,10 +147,6 @@ jobs: # python3-wxpython,regex-devel,zstd-devel" # shell: pwsh - # - uses: actions/upload-artifact@v4 - # with: - # name: osgeo4w-cache - # path: "${{ env.TEMP }}/**dd**" - name: Get hashes of caches to save id: save-cache-hash run: | @@ -188,11 +171,16 @@ jobs: with: key: OSGeo4W-packages-cache-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.packages }} path: | - ${{ env.PackageDir }}/** - !${{ env.PackageDir }}/**/proj-data** - !${{ env.PackageDir }}/**/gdal-dev/** - !${{ env.PackageDir }}/**/setup.ini + ${{ env.PackageDir }}/*/*/*/* + !${{ env.PackageDir }}/*/*/*/proj/proj-data + !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev + !${{ env.PackageDir }}/*/*/setup.ini + - run: ls -la mswindows/osgeo4w/ + shell: msys2 {0} + - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config + - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config + shell: msys2 {0} - name: Compile GRASS GIS run: mswindows/osgeo4w/build_osgeo4w.sh . shell: msys2 {0} From cbf5b4eaada3f4c4173737ca7a69e29103c47d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 13:16:40 -0500 Subject: [PATCH 045/158] Remove dependencies patched in OSGeo4W builds --- .github/workflows/osgeo4w.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cc465d09d7a..2c12e9bb8b1 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -47,8 +47,9 @@ jobs: mingw-w64-x86_64-fftw mingw-w64-x86_64-lapack mingw-w64-x86_64-pkgconf mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-zlib mingw-w64-x86_64-libiconv mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre - mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng + mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-pcre + # removed: mingw-w64-x86_64-libpng - name: Restore PROJ data cache id: restore-proj-data uses: actions/cache/restore@v3 @@ -107,7 +108,8 @@ jobs: pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, - python3-wxpython,regex-devel,zstd-devel + python3-wxpython,zstd-devel + # removed: regex-devel, - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending - name: Remove outdated OSGeo4W cached packages shell: msys2 {0} @@ -181,8 +183,10 @@ jobs: - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config shell: msys2 {0} + - run: pwd + shell: msys2 {0} - name: Compile GRASS GIS - run: mswindows/osgeo4w/build_osgeo4w.sh . + run: ./mswindows/osgeo4w/build_osgeo4w.sh . shell: msys2 {0} env: MAKEFLAGS: -j0 From ae7304372a98f07b084df0813d468d515fb535cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:24:28 -0500 Subject: [PATCH 046/158] Set SRC env var --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 2c12e9bb8b1..875beb6a06b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -42,6 +42,7 @@ jobs: with: path-type: inherit location: D:\ + msystem: mingw64 update: true install: tar libintl make bison flex diffutils git dos2unix zip mingw-w64-x86_64-toolchain mingw-w64-x86_64-fftw mingw-w64-x86_64-lapack mingw-w64-x86_64-pkgconf @@ -186,7 +187,7 @@ jobs: - run: pwd shell: msys2 {0} - name: Compile GRASS GIS - run: ./mswindows/osgeo4w/build_osgeo4w.sh . + run: SRC=. ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} env: MAKEFLAGS: -j0 From 6ab62a54db7d159fd3bd4b4596db94794043e124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:32:29 -0500 Subject: [PATCH 047/158] Apply patched changes from OSGeo4W --- mswindows/osgeo4w/build_osgeo4w.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index aa6e0fb623a..7235920b7f0 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -38,6 +38,7 @@ export ARCH=x86_64-w64-mingw32 --with-nls \ --with-readline \ --with-blas \ + --with-lapack \ --with-lapack-includes=/mingw64/include/lapack \ --with-freetype \ --with-freetype-includes=${OSGEO4W_ROOT_MSYS}/include/freetype2 \ @@ -58,7 +59,7 @@ export ARCH=x86_64-w64-mingw32 --with-odbc \ --with-cairo \ --with-cairo-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-cairo-libs=$OSGEO4W_ROOT_MSYS/lib \ + --with-cairo-libs=${OSGEO4W_ROOT_MSYS}/lib \ --with-cairo-ldflags="-L${SRC}/mswindows/osgeo4w/lib -lcairo" \ --with-opengl=windows \ --with-bzlib \ From a5c8aefb38904b67c6afa7ab7a98fe221e31afe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:40:15 -0500 Subject: [PATCH 048/158] Comment out osgeo4w cache --- .github/workflows/osgeo4w.yml | 185 +++++++++++++++++----------------- 1 file changed, 94 insertions(+), 91 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 875beb6a06b..b0d36e703fe 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -51,48 +51,49 @@ jobs: mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-pcre # removed: mingw-w64-x86_64-libpng - - name: Restore PROJ data cache - id: restore-proj-data - uses: actions/cache/restore@v3 - with: - # The key here will never match, it will always use the restore-keys. - # Since we don't have a lockfile or a way of knowing which - # version of proj-data is needed used, we cannot have a better key. - key: OSGeo4W-proj-data-${{ env.PackageDir }}- - restore-keys: | - OSGeo4W-proj-data-${{ env.PackageDir }}- - path: ${{ env.PackageDir }}/**/proj-data** - - name: Restore OSGeo4W package cache - id: restore-pkgs - uses: actions/cache/restore@v3 - with: - # The key here will never match, it will always use the restore-keys. - # Since we don't have a lockfile or a way of knowing which - # dependencies were used, we cannot use hashfiles() on files that - # don't exist yet. - key: OSGeo4W-packages-cache-${{ env.PackageDir }}- - restore-keys: | - OSGeo4W-packages-cache-${{ env.PackageDir }}- - path: | - ${{ env.PackageDir }}/*/*/*/* - !${{ env.PackageDir }}/*/*/*/proj/proj-data - !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev - !${{ env.PackageDir }}/*/*/setup.ini - - name: Save hashes of restored cache before update - id: restored-cache-hash - run: | - echo "proj-data=${{ hashfiles( - format('{0}/**/proj-data**', env.PackageDir) ) - }}" >> "$env:GITHUB_OUTPUT" - echo "packages=${{ hashfiles( - format('{0}/**', env.PackageDir), - format('!{0}/**/proj-data**', env.PackageDir), - format('!{0}/**/gdal-dev/**', env.PackageDir), - format('!{0}/**/setup.ini', env.PackageDir) ) - }}" >> "$env:GITHUB_OUTPUT" - - - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" + + # - name: Restore PROJ data cache + # id: restore-proj-data + # uses: actions/cache/restore@v3 + # with: + # # The key here will never match, it will always use the restore-keys. + # # Since we don't have a lockfile or a way of knowing which + # # version of proj-data is needed used, we cannot have a better key. + # key: OSGeo4W-proj-data-${{ env.PackageDir }}- + # restore-keys: | + # OSGeo4W-proj-data-${{ env.PackageDir }}- + # path: ${{ env.PackageDir }}/**/proj-data** + # - name: Restore OSGeo4W package cache + # id: restore-pkgs + # uses: actions/cache/restore@v3 + # with: + # # The key here will never match, it will always use the restore-keys. + # # Since we don't have a lockfile or a way of knowing which + # # dependencies were used, we cannot use hashfiles() on files that + # # don't exist yet. + # key: OSGeo4W-packages-cache-${{ env.PackageDir }}- + # restore-keys: | + # OSGeo4W-packages-cache-${{ env.PackageDir }}- + # path: | + # ${{ env.PackageDir }}/*/*/*/* + # !${{ env.PackageDir }}/*/*/*/proj/proj-data + # !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev + # !${{ env.PackageDir }}/*/*/setup.ini + # - name: Save hashes of restored cache before update + # id: restored-cache-hash + # run: | + # echo "proj-data=${{ hashfiles( + # format('{0}/**/proj-data**', env.PackageDir) ) + # }}" >> "$env:GITHUB_OUTPUT" + # echo "packages=${{ hashfiles( + # format('{0}/**', env.PackageDir), + # format('!{0}/**/proj-data**', env.PackageDir), + # format('!{0}/**/gdal-dev/**', env.PackageDir), + # format('!{0}/**/setup.ini', env.PackageDir) ) + # }}" >> "$env:GITHUB_OUTPUT" + # - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" + - name: Download OSGeo4W run: Invoke-WebRequest -Uri "${{ env.BASE_URL }}/${{ env.FILE_NAME }}" -OutFile "${{ env.FILE_NAME }}" env: @@ -111,29 +112,30 @@ jobs: python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, python3-wxpython,zstd-devel # removed: regex-devel, - - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending - - name: Remove outdated OSGeo4W cached packages - shell: msys2 {0} - # First sed pattern: - # Filters out the lines after the [prev] section until next blank line by - # keeping lines between "@ osgeo4w-package-name" and "[prev]" or a blank line. - # Adapted from: https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-helpers#L376 - # Second sed pattern: - # Keeps only the path subgroup of lines starting with `install:` or `license:` - # Adapted from https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-inorder.pl#L22-L23 - run: >- - pwd \n - find ${{ env.PackageDir }} -type f \( ! -name "setup.ini" $( - sed -rne '/^@ .*$/,/^(\[prev\])?$/p' setup.ini | - sed -nr 's/^(install|source|license):\s+(\S+)\s+[0-9]+\s+\S+/\2/p' | - xargs printf ' -a ! -path ${{ env.PackageDir }}/http*/%s\n' - ) \) - continue-on-error: true - env: - PackageDir: ${{ env.PackageDir }} - - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" + + # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending + # - name: Remove outdated OSGeo4W cached packages + # shell: msys2 {0} + # # First sed pattern: + # # Filters out the lines after the [prev] section until next blank line by + # # keeping lines between "@ osgeo4w-package-name" and "[prev]" or a blank line. + # # Adapted from: https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-helpers#L376 + # # Second sed pattern: + # # Keeps only the path subgroup of lines starting with `install:` or `license:` + # # Adapted from https://github.com/jef-n/OSGeo4W/blob/9b26e568b5660b9e18839076327cfdade769fcd9/scripts/build-inorder.pl#L22-L23 + # run: >- + # pwd \n + # find ${{ env.PackageDir }} -type f \( ! -name "setup.ini" $( + # sed -rne '/^@ .*$/,/^(\[prev\])?$/p' setup.ini | + # sed -nr 's/^(install|source|license):\s+(\S+)\s+[0-9]+\s+\S+/\2/p' | + # xargs printf ' -a ! -path ${{ env.PackageDir }}/http*/%s\n' + # ) \) + # continue-on-error: true + # env: + # PackageDir: ${{ env.PackageDir }} + # - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending + # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending # - name: Install OSGeo4W # run: | @@ -150,34 +152,34 @@ jobs: # python3-wxpython,regex-devel,zstd-devel" # shell: pwsh - - name: Get hashes of caches to save - id: save-cache-hash - run: | - echo "proj-data=${{ hashfiles( - format('{0}/**/proj-data**', env.PackageDir) ) - }}" >> "$env:GITHUB_OUTPUT" - echo "packages=${{ hashfiles( - format('{0}/**', env.PackageDir), - format('!{0}/**/proj-data**', env.PackageDir), - format('!{0}/**/gdal-dev/**', env.PackageDir), - format('!{0}/**/setup.ini', env.PackageDir) ) - }}" >> "$env:GITHUB_OUTPUT" - - name: Save proj-data cache - if: ${{ steps.restored-cache-hash.outputs.proj-data != steps.save-cache-hash.outputs.proj-data }} - uses: actions/cache/save@v3 - with: - key: OSGeo4W-proj-data-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.proj-data }} - path: ${{ env.PackageDir }}/**/proj-data** - - name: Save OSGeo4W package cache - if: ${{ steps.restored-cache-hash.outputs.packages != steps.save-cache-hash.outputs.packages }} - uses: actions/cache/save@v3 - with: - key: OSGeo4W-packages-cache-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.packages }} - path: | - ${{ env.PackageDir }}/*/*/*/* - !${{ env.PackageDir }}/*/*/*/proj/proj-data - !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev - !${{ env.PackageDir }}/*/*/setup.ini + # - name: Get hashes of caches to save + # id: save-cache-hash + # run: | + # echo "proj-data=${{ hashfiles( + # format('{0}/**/proj-data**', env.PackageDir) ) + # }}" >> "$env:GITHUB_OUTPUT" + # echo "packages=${{ hashfiles( + # format('{0}/**', env.PackageDir), + # format('!{0}/**/proj-data**', env.PackageDir), + # format('!{0}/**/gdal-dev/**', env.PackageDir), + # format('!{0}/**/setup.ini', env.PackageDir) ) + # }}" >> "$env:GITHUB_OUTPUT" + # - name: Save proj-data cache + # if: ${{ steps.restored-cache-hash.outputs.proj-data != steps.save-cache-hash.outputs.proj-data }} + # uses: actions/cache/save@v3 + # with: + # key: OSGeo4W-proj-data-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.proj-data }} + # path: ${{ env.PackageDir }}/**/proj-data** + # - name: Save OSGeo4W package cache + # if: ${{ steps.restored-cache-hash.outputs.packages != steps.save-cache-hash.outputs.packages }} + # uses: actions/cache/save@v3 + # with: + # key: OSGeo4W-packages-cache-${{ env.PackageDir }}-${{ steps.save-cache-hash.outputs.packages }} + # path: | + # ${{ env.PackageDir }}/*/*/*/* + # !${{ env.PackageDir }}/*/*/*/proj/proj-data + # !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev + # !${{ env.PackageDir }}/*/*/setup.ini - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} @@ -193,6 +195,7 @@ jobs: MAKEFLAGS: -j0 OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 + #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . #shell: msys2 {0} From b7d36e7290c7fe1e6732aa33e9462b7de62d6ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:40:25 -0500 Subject: [PATCH 049/158] Print env in script --- mswindows/osgeo4w/build_osgeo4w.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index 7235920b7f0..0773e31b8a9 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -21,6 +21,10 @@ export C_INCLUDE_PATH=".:${OSGEO4W_ROOT_MSYS}/include:${SRC}/dist.${ARCH}/includ export PYTHONHOME=${OSGEO4W_ROOT_MSYS}/apps/Python39 export ARCH=x86_64-w64-mingw32 +echo "Print env follows" +printenv +echo "Print env done" + ./configure \ --host=${ARCH} \ --with-libs="${OSGEO4W_ROOT_MSYS}/lib ${OSGEO4W_ROOT_MSYS}/bin" \ From 4c296830908d0de2fe002b8894fae2f846e0e2db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:56:26 -0500 Subject: [PATCH 050/158] print pwd --- mswindows/osgeo4w/build_osgeo4w.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index 0773e31b8a9..0c2df45f586 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -21,6 +21,7 @@ export C_INCLUDE_PATH=".:${OSGEO4W_ROOT_MSYS}/include:${SRC}/dist.${ARCH}/includ export PYTHONHOME=${OSGEO4W_ROOT_MSYS}/apps/Python39 export ARCH=x86_64-w64-mingw32 +echo "Pwd is $(pwd)" echo "Print env follows" printenv echo "Print env done" From da9f4b9c0cf89178c1eefb112a7808e225d106ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 15:07:28 -0500 Subject: [PATCH 051/158] Set SRC env --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b0d36e703fe..cd39203c367 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -189,12 +189,13 @@ jobs: - run: pwd shell: msys2 {0} - name: Compile GRASS GIS - run: SRC=. ./mswindows/osgeo4w/build_osgeo4w.sh + run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} env: MAKEFLAGS: -j0 OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 + #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . From caa023cebab0a6cc61aa04d7ed13e2ea07e28a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 15:55:38 -0500 Subject: [PATCH 052/158] remove PDAL from osgeo4w installer, since not used in configure --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cd39203c367..9e4479dfadc 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -107,11 +107,11 @@ jobs: FILE_NAME: osgeo4w-setup.exe Deps: >- proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, - pdal-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, python3-wxpython,zstd-devel - # removed: regex-devel, + # removed: regex-devel,pdal-devel, # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending # - name: Remove outdated OSGeo4W cached packages From c3c4830f63ab5e8c50af1dc3e4426ce027c6f62a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:12:48 -0500 Subject: [PATCH 053/158] Readd mingw-w64-x86_64-libpng --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9e4479dfadc..ac38692bb2a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -48,9 +48,9 @@ jobs: mingw-w64-x86_64-fftw mingw-w64-x86_64-lapack mingw-w64-x86_64-pkgconf mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-zlib mingw-w64-x86_64-libiconv mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre - mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git + mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng mingw-w64-x86_64-pcre - # removed: mingw-w64-x86_64-libpng + # not removed: mingw-w64-x86_64-libpng # - name: Restore PROJ data cache From d8ba9f186b54f8b3a53879c60d182cec7d29c934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:30:44 -0500 Subject: [PATCH 054/158] Use ${} in mswindows/osgeo4w/package.sh --- mswindows/osgeo4w/package.sh | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/mswindows/osgeo4w/package.sh b/mswindows/osgeo4w/package.sh index c638c40ee62..1c10ab5d25b 100755 --- a/mswindows/osgeo4w/package.sh +++ b/mswindows/osgeo4w/package.sh @@ -149,18 +149,18 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then cp -uv $DLLS dist.x86_64-w64-mingw32/bin mkdir -p mswindows/osgeo4w/lib - cp -uv $OSGEO4W_ROOT_MSYS/lib/libpq.lib mswindows/osgeo4w/lib/pq.lib - cp -uv $OSGEO4W_ROOT_MSYS/lib/sqlite3_i.lib mswindows/osgeo4w/lib/sqlite3.lib + cp -uv ${OSGEO4W_ROOT_MSYS}/lib/libpq.lib mswindows/osgeo4w/lib/pq.lib + cp -uv ${OSGEO4W_ROOT_MSYS}/lib/sqlite3_i.lib mswindows/osgeo4w/lib/sqlite3.lib log configure ./configure \ --host=x86_64-w64-mingw32 \ - --with-libs="$OSGEO4W_ROOT_MSYS/lib" \ - --with-includes=$OSGEO4W_ROOT_MSYS/include \ - --libexecdir=$OSGEO4W_ROOT_MSYS/bin \ - --prefix=$OSGEO4W_ROOT_MSYS/apps/grass \ - --bindir=$OSGEO4W_ROOT_MSYS/bin \ - --includedir=$OSGEO4W_ROOT_MSYS/include \ + --with-libs="${OSGEO4W_ROOT_MSYS}/lib" \ + --with-includes=${OSGEO4W_ROOT_MSYS}/include \ + --libexecdir=${OSGEO4W_ROOT_MSYS}/bin \ + --prefix=${OSGEO4W_ROOT_MSYS}/apps/grass \ + --bindir=${OSGEO4W_ROOT_MSYS}/bin \ + --includedir=${OSGEO4W_ROOT_MSYS}/include \ --with-opengl=windows \ --without-x \ --with-cxx \ @@ -169,17 +169,17 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then --with-fftw \ --with-freetype \ --with-freetype-includes=/mingw64/include/freetype2 \ - --with-proj-share=$OSGEO4W_ROOT_MSYS/share/proj \ - --with-proj-includes=$OSGEO4W_ROOT_MSYS/include \ - --with-proj-libs=$OSGEO4W_ROOT_MSYS/lib \ + --with-proj-share=${OSGEO4W_ROOT_MSYS}/share/proj \ + --with-proj-includes=${OSGEO4W_ROOT_MSYS}/include \ + --with-proj-libs=${OSGEO4W_ROOT_MSYS}/lib \ --with-postgres \ - --with-postgres-includes=$OSGEO4W_ROOT_MSYS/include \ + --with-postgres-includes=${OSGEO4W_ROOT_MSYS}/include \ --with-postgres-libs=$PWD/mswindows/osgeo4w/lib \ --with-gdal=$PWD/mswindows/osgeo4w/gdal-config \ --with-geos=$PWD/mswindows/osgeo4w/geos-config \ --with-sqlite \ - --with-sqlite-includes=$OSGEO4W_ROOT_MSYS/include \ - --with-sqlite-libs=$PWD/mswindows/osgeo4w/lib \ + --with-sqlite-includes=${OSGEO4W_ROOT_MSYS}/include \ + --with-sqlite-libs=${OSGEO4W_ROOT_MSYS}/mswindows/osgeo4w/lib \ --with-regex \ --with-nls \ --with-zstd \ @@ -190,7 +190,7 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then --with-lapack-includes=/mingw64/include \ --with-openmp \ --with-cairo \ - --with-cairo-includes=$OSGEO4W_ROOT_MSYS/include \ + --with-cairo-includes=${OSGEO4W_ROOT_MSYS}/include \ --with-cairo-ldflags="-L$PWD/mswindows/osgeo4w/lib -lcairo -lfontconfig" \ --with-bzlib \ --with-liblas=$PWD/mswindows/osgeo4w/liblas-config \ From d8ec1d68edfe438354ecb9eeaeec33d9f7a865a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:44:22 -0500 Subject: [PATCH 055/158] list osgeo4w bin folder --- .github/workflows/osgeo4w.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ac38692bb2a..ab91864ff2f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -183,6 +183,8 @@ jobs: - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} + - run: ls -la /c/OSGeo4W/bin/ + shell: msys2 {0} - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config shell: msys2 {0} From 9f648c67e0cd82052fe61900a60f16116afecbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:55:54 -0500 Subject: [PATCH 056/158] Add quoting in package.sh --- mswindows/osgeo4w/package.sh | 38 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/mswindows/osgeo4w/package.sh b/mswindows/osgeo4w/package.sh index 1c10ab5d25b..81c99411b49 100755 --- a/mswindows/osgeo4w/package.sh +++ b/mswindows/osgeo4w/package.sh @@ -17,13 +17,13 @@ fi # package patch number # e.g. 'r65400-1' for daily builds, '-1' for release -if [ -z $PACKAGE_PATCH ]; then +if [ -z "$PACKAGE_PATCH" ]; then PACKAGE_PATCH=1 fi # package name # eg. '-daily' -> 'grass-daily', empty for release -if [ -z $PACKAGE_POSTFIX ]; then +if [ -z "$PACKAGE_POSTFIX" ]; then PACKAGE_POSTFIX="" fi @@ -41,8 +41,8 @@ fetchenv() { args="$@" cmd.exe //c set >$srcenv cmd.exe //c "call `cygpath -sw $batch` $args \>nul 2\>nul \& set" >$dstenv - diff -u $srcenv $dstenv | sed -f mswindows/osgeo4w/envdiff.sed >$diffenv - . $diffenv + diff -u "$srcenv" "$dstenv" | sed -f mswindows/osgeo4w/envdiff.sed >"$diffenv" + . "$diffenv" PATH=$PATH:/usr/bin:/mingw64/bin/:$PWD/mswindows/osgeo4w/lib:$PWD/mswindows/osgeo4w:/c/windows32/system32:/c/windows:/c/windows32/system32:/c/windows rm -f $srcenv $dstenv $diffenv } @@ -156,11 +156,11 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then ./configure \ --host=x86_64-w64-mingw32 \ --with-libs="${OSGEO4W_ROOT_MSYS}/lib" \ - --with-includes=${OSGEO4W_ROOT_MSYS}/include \ - --libexecdir=${OSGEO4W_ROOT_MSYS}/bin \ - --prefix=${OSGEO4W_ROOT_MSYS}/apps/grass \ - --bindir=${OSGEO4W_ROOT_MSYS}/bin \ - --includedir=${OSGEO4W_ROOT_MSYS}/include \ + --with-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --libexecdir="${OSGEO4W_ROOT_MSYS}/bin" \ + --prefix="${OSGEO4W_ROOT_MSYS}/apps/grass" \ + --bindir="${OSGEO4W_ROOT_MSYS}/bin" \ + --includedir="${OSGEO4W_ROOT_MSYS}/include" \ --with-opengl=windows \ --without-x \ --with-cxx \ @@ -168,29 +168,29 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then --enable-largefile \ --with-fftw \ --with-freetype \ - --with-freetype-includes=/mingw64/include/freetype2 \ - --with-proj-share=${OSGEO4W_ROOT_MSYS}/share/proj \ - --with-proj-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-proj-libs=${OSGEO4W_ROOT_MSYS}/lib \ + --with-freetype-includes="/mingw64/include/freetype2" \ + --with-proj-share="${OSGEO4W_ROOT_MSYS}/share/proj" \ + --with-proj-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-proj-libs="${OSGEO4W_ROOT_MSYS}/lib" \ --with-postgres \ - --with-postgres-includes=${OSGEO4W_ROOT_MSYS}/include \ + --with-postgres-includes="${OSGEO4W_ROOT_MSYS}/include" \ --with-postgres-libs=$PWD/mswindows/osgeo4w/lib \ --with-gdal=$PWD/mswindows/osgeo4w/gdal-config \ --with-geos=$PWD/mswindows/osgeo4w/geos-config \ --with-sqlite \ - --with-sqlite-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-sqlite-libs=${OSGEO4W_ROOT_MSYS}/mswindows/osgeo4w/lib \ + --with-sqlite-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-sqlite-libs="${OSGEO4W_ROOT_MSYS}/mswindows/osgeo4w/lib" \ --with-regex \ --with-nls \ --with-zstd \ --with-odbc \ - --with-netcdf=${OSGEO4W_ROOT_MSYS}/bin/nc-config \ + --with-netcdf="${OSGEO4W_ROOT_MSYS}/bin/nc-config" \ --with-blas \ --with-lapack \ - --with-lapack-includes=/mingw64/include \ + --with-lapack-includes="/mingw64/include" \ --with-openmp \ --with-cairo \ - --with-cairo-includes=${OSGEO4W_ROOT_MSYS}/include \ + --with-cairo-includes="${OSGEO4W_ROOT_MSYS}/include" \ --with-cairo-ldflags="-L$PWD/mswindows/osgeo4w/lib -lcairo -lfontconfig" \ --with-bzlib \ --with-liblas=$PWD/mswindows/osgeo4w/liblas-config \ From 5aa11fcf636dfdefdc21175c2602764ec1d98f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:09:11 -0500 Subject: [PATCH 057/158] Do not use & to launch osgeo installer --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ab91864ff2f..e28846d47d8 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -101,7 +101,7 @@ jobs: FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | - & .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe From 220926cbe34e5fda752f2538a055e0984049be8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:14:38 -0500 Subject: [PATCH 058/158] Add double quotes in mswindows/osgeo4w/build_osgeo4w.sh --- mswindows/osgeo4w/build_osgeo4w.sh | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index 0c2df45f586..884a022a531 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -27,13 +27,13 @@ printenv echo "Print env done" ./configure \ - --host=${ARCH} \ + --host="${ARCH}" \ --with-libs="${OSGEO4W_ROOT_MSYS}/lib ${OSGEO4W_ROOT_MSYS}/bin" \ - --with-includes=${OSGEO4W_ROOT_MSYS}/include \ - --libexecdir=${OSGEO4W_ROOT_MSYS}/bin \ - --prefix=${OSGEO4W_ROOT_MSYS}/apps/grass \ - --bindir=${OSGEO4W_ROOT_MSYS}/bin \ - --includedir=${OSGEO4W_ROOT_MSYS}/include \ + --with-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --libexecdir="${OSGEO4W_ROOT_MSYS}/bin" \ + --prefix="${OSGEO4W_ROOT_MSYS}/apps/grass" \ + --bindir="${OSGEO4W_ROOT_MSYS}/bin" \ + --includedir="${OSGEO4W_ROOT_MSYS}/include" \ --without-x \ --with-cxx \ --enable-shared \ @@ -44,31 +44,31 @@ echo "Print env done" --with-readline \ --with-blas \ --with-lapack \ - --with-lapack-includes=/mingw64/include/lapack \ + --with-lapack-includes="/mingw64/include/lapack" \ --with-freetype \ - --with-freetype-includes=${OSGEO4W_ROOT_MSYS}/include/freetype2 \ - --with-proj-share=${OSGEO4W_ROOT_MSYS}/share/proj \ - --with-proj-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-proj-libs=${OSGEO4W_ROOT_MSYS}/lib \ + --with-freetype-includes="${OSGEO4W_ROOT_MSYS}/include/freetype2" \ + --with-proj-share="${OSGEO4W_ROOT_MSYS}/share/proj" \ + --with-proj-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-proj-libs="${OSGEO4W_ROOT_MSYS}/lib" \ --with-postgres \ - --with-postgres-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-postgres-libs=${OSGEO4W_ROOT_MSYS}/lib \ - --with-gdal=${SRC}/mswindows/osgeo4w/gdal-config \ - --with-geos=${SRC}/mswindows/osgeo4w/geos-config \ + --with-postgres-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-postgres-libs="${OSGEO4W_ROOT_MSYS}/lib" \ + --with-gdal="${SRC}/mswindows/osgeo4w/gdal-config" \ + --with-geos="${SRC}/mswindows/osgeo4w/geos-config" \ --with-sqlite \ - --with-sqlite-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-sqlite-libs=${OSGEO4W_ROOT_MSYS}/lib \ + --with-sqlite-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-sqlite-libs="${OSGEO4W_ROOT_MSYS}/lib" \ --with-regex \ --with-nls \ --with-zstd \ --with-odbc \ --with-cairo \ - --with-cairo-includes=${OSGEO4W_ROOT_MSYS}/include \ - --with-cairo-libs=${OSGEO4W_ROOT_MSYS}/lib \ + --with-cairo-includes="${OSGEO4W_ROOT_MSYS}/include" \ + --with-cairo-libs="${OSGEO4W_ROOT_MSYS}/lib" \ --with-cairo-ldflags="-L${SRC}/mswindows/osgeo4w/lib -lcairo" \ --with-opengl=windows \ --with-bzlib \ - --with-netcdf=${OSGEO4W_ROOT_MSYS}/bin/nc-config \ + --with-netcdf="${OSGEO4W_ROOT_MSYS}/bin/nc-config" \ --without-pdal make From d6e369e8f72defc27f9c6d592fbb4806b3548ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:19:38 -0500 Subject: [PATCH 059/158] Add other calls to list files in /c/osgeo4w/bin --- .github/workflows/osgeo4w.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index e28846d47d8..b533376aa4c 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -190,6 +190,8 @@ jobs: shell: msys2 {0} - run: pwd shell: msys2 {0} + - run: ls -la mswindows/osgeo4w/ + shell: msys2 {0} - name: Compile GRASS GIS run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} @@ -197,7 +199,9 @@ jobs: MAKEFLAGS: -j0 OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 - + - run: ls -la mswindows/osgeo4w/ + if: ${{ always() }} + shell: msys2 {0} #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . From 8b1054be0ba3f3ac22978f3baef7710b2530c215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:29:53 -0500 Subject: [PATCH 060/158] List files again --- .github/workflows/osgeo4w.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b533376aa4c..179c430b43b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -192,6 +192,8 @@ jobs: shell: msys2 {0} - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} + - run: ls -la /c/OSGeo4W/bin/ + shell: msys2 {0} - name: Compile GRASS GIS run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} @@ -202,6 +204,9 @@ jobs: - run: ls -la mswindows/osgeo4w/ if: ${{ always() }} shell: msys2 {0} + - run: ls -la /c/OSGeo4W/bin/ + if: ${{ always() }} + shell: msys2 {0} #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . From aecf3e2d6f333834ed4b2962014e1d8c9af5762a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 2 Jan 2024 21:19:13 -0500 Subject: [PATCH 061/158] Update osgeo4w.yml [skip ci] --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 179c430b43b..5e0970a0eec 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -207,7 +207,7 @@ jobs: - run: ls -la /c/OSGeo4W/bin/ if: ${{ always() }} shell: msys2 {0} - + #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . #shell: msys2 {0} From fab659822bd0b9aba301441b00d69d0a887a700f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 17:26:38 -0500 Subject: [PATCH 062/158] Try without shortcuts or start menu, to see if creating the files from the *.tmpl files will happen without getting shut down --- .github/workflows/osgeo4w.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5e0970a0eec..67e09dffcbb 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -101,7 +101,9 @@ jobs: FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | - .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + # run: | + # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe From 0c48fd47f0d1410b4dec4b437d9ed6b5a31904c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 17:43:55 -0500 Subject: [PATCH 063/158] Use old invocation for OSGeo4W install --- .github/workflows/osgeo4w.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 67e09dffcbb..9a8f993cb69 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -101,7 +101,11 @@ jobs: FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | - .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ + -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait + # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + # run: | + # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default # run: | # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default env: From 6c6790984467b6fc07f14cccca8525462b903bf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 17:48:31 -0500 Subject: [PATCH 064/158] Pipe old install to Out-Default --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9a8f993cb69..5654217acff 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -102,7 +102,7 @@ jobs: - name: Install OSGeo4W run: | Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ - -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait + -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default # run: | # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default From 3306ad3c469377682436935ee5fed2cf4dc2da6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:25:58 -0500 Subject: [PATCH 065/158] Run install two times to see if it completes --- .github/workflows/osgeo4w.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5654217acff..c86264efa17 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -200,6 +200,28 @@ jobs: shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ shell: msys2 {0} + + - name: Install OSGeo4W second time + run: | + Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ + -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default + # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + # run: | + # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + # run: | + # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + env: + BASE_URL: https://download.osgeo.org/osgeo4w/v2 + FILE_NAME: osgeo4w-setup.exe + Deps: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, + netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, + python3-wxpython,zstd-devel + - run: ls -la /c/OSGeo4W/bin/ + shell: msys2 {0} + - name: Compile GRASS GIS run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} From 28bde680d1a8e794070bf2cf43aeadf05c2791de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:35:13 -0500 Subject: [PATCH 066/158] Try without spaces in package list --- .github/workflows/osgeo4w.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index c86264efa17..7060b8cddea 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -112,13 +112,15 @@ jobs: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe Deps: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, - netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, - python3-wxpython,zstd-devel + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel + # removed: regex-devel,pdal-devel, - + # Deps: >- + # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, + # netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + # gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, + # python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, + # python3-wxpython,zstd-devel # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending # - name: Remove outdated OSGeo4W cached packages # shell: msys2 {0} From aa81ccc633f77e487525a3d571caf0f067851db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:48:46 -0500 Subject: [PATCH 067/158] try with comma on new line instead of end --- .github/workflows/osgeo4w.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 7060b8cddea..0b6fb818137 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -101,8 +101,9 @@ jobs: FILE_NAME: osgeo4w-setup.exe - name: Install OSGeo4W run: | - Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ - -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default + .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default + # Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ + # -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default # run: | # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default @@ -111,11 +112,17 @@ jobs: env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel + Deps: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel # removed: regex-devel,pdal-devel, # Deps: >- + # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel + # Deps: >- # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, # netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, # gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, From 7c167720218fd56d60c7624461ef3fa2e5971eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:15:17 -0500 Subject: [PATCH 068/158] Try using fromJson --- .github/workflows/osgeo4w.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 0b6fb818137..6c5a2a74528 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -37,6 +37,23 @@ jobs: git config --global core.eol lf - run: | echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV + - run: echo $env:Deps2 + env: + Deps2: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel + + - run: echo "${{ fromJson(env.Deps2) }}" + env: + Deps2: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: From a6bbd5e2a500792ceaa64bec8325ddac2eaa6a27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:16:57 -0500 Subject: [PATCH 069/158] Try using fromJson not quoted --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 6c5a2a74528..fa004ae0694 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,7 +46,7 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - run: echo "${{ fromJson(env.Deps2) }}" + - run: echo ${{ fromJson(env.Deps2) }} env: Deps2: >- proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel From e6e624087c42e3a3aaab36a382b4022e975ccb91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:19:22 -0500 Subject: [PATCH 070/158] Try adding brackets to json --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index fa004ae0694..5f635d8935e 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,7 +46,7 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - run: echo ${{ fromJson(env.Deps2) }} + - run: echo "${{ fromJson( format('[{0}]', env.Deps2) )}}" env: Deps2: >- proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel From a23fc4b32046cc3584487247adb86432059971fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:22:08 -0500 Subject: [PATCH 071/158] try creating a json object --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5f635d8935e..fc00b040647 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -46,7 +46,7 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - run: echo "${{ fromJson( format('[{0}]', env.Deps2) )}}" + - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" env: Deps2: >- proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel From 319e1ddb3919faeb76245b7df9c5936c1f10a9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:26:32 -0500 Subject: [PATCH 072/158] Use tojson in env --- .github/workflows/osgeo4w.yml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index fc00b040647..791943734f5 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -45,15 +45,26 @@ jobs: ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" + - run: echo $env:Deps2 env: Deps2: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel + ${{ + toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel ]') + }} + + + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" + # env: + # Deps2: >- + # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + # ,cairo-devel,fftw,freetype-devel,gdal-ecw + # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + # ,python3-wxpython,zstd-devel - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: From 3eb7f6a9d5d5afba4b95a43bd4b76b9826f6097d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:28:16 -0500 Subject: [PATCH 073/158] use fromJson inside env --- .github/workflows/osgeo4w.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 791943734f5..83d94a39f64 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -55,7 +55,16 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel ]') }} - + - run: echo $env:Deps2 + env: + Deps2: >- + ${{ + fromJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel ]') + }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From a65a0254078908555de3f753be5dcd66a4c3a75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:29:50 -0500 Subject: [PATCH 074/158] fromJson(toJson()) in env --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 83d94a39f64..bc182230b2f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -59,11 +59,11 @@ jobs: env: Deps2: >- ${{ - fromJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]') + ,python3-wxpython,zstd-devel ]' )) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" From dc365c86568c225ae63f462e08a56d7062a4d31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:32:46 -0500 Subject: [PATCH 075/158] Add an object filter --- .github/workflows/osgeo4w.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index bc182230b2f..5b5bc4c4b1a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -65,6 +65,17 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel ]' )) }} + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{ + fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel ]' )[*]) + }} + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From dbafb36ed3664636b58e213e5c2ae5470afa9807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:34:15 -0500 Subject: [PATCH 076/158] use .* object filter --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5b5bc4c4b1a..d7ba650a0e7 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -73,7 +73,7 @@ jobs: ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' )[*]) + ,python3-wxpython,zstd-devel ]' ).*) }} From a9ee48f6509d5ba82479b18bab9b0e8376f27df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:36:01 -0500 Subject: [PATCH 077/158] tojson without bracket --- .github/workflows/osgeo4w.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index d7ba650a0e7..fae89c17bdd 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -55,6 +55,16 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel ]') }} + - run: echo $env:Deps2 + env: + Deps2: >- + ${{ + toJson( 'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel') + }} - run: echo $env:Deps2 env: Deps2: >- @@ -73,7 +83,7 @@ jobs: ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' ).*) + ,python3-wxpython,zstd-devel ]' )) }} From 10539bf0115a28c585632b9d6b33d7b05c1e5c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:38:08 -0500 Subject: [PATCH 078/158] try using join --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index fae89c17bdd..0e4455ead96 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -79,11 +79,11 @@ jobs: env: Deps2: >- ${{ - fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + join(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' )) + ,python3-wxpython,zstd-devel ]' ), '_xy?') }} From 86169f65146ecfc8345facc54a15d3859ca54fdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:40:26 -0500 Subject: [PATCH 079/158] add a fromjson before join --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 0e4455ead96..6c067e5f73f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -79,11 +79,11 @@ jobs: env: Deps2: >- ${{ - join(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + join(fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' ), '_xy?') + ,python3-wxpython,zstd-devel ]' )), '_xy?') }} From df3e34c734e9293714b528802bc52a9b8cbb6e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:46:50 -0500 Subject: [PATCH 080/158] try with a complete object --- .github/workflows/osgeo4w.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 6c067e5f73f..d3080a97613 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -79,13 +79,23 @@ jobs: env: Deps2: >- ${{ - join(fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + join(fromJson(toJson( '{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' )), '_xy?') + ,python3-wxpython,zstd-devel ]}' )), '_xy?') }} - + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{ + join(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel ]}' ), '_xy?') + }} + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 0eee0d8d3b6adcd71723ba0d57dbc06074b28b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:48:57 -0500 Subject: [PATCH 081/158] Change to toJson --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index d3080a97613..ce47348f8b3 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -89,11 +89,11 @@ jobs: env: Deps2: >- ${{ - join(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + toJson(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel ,cairo-devel,fftw,freetype-devel,gdal-ecw ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]}' ), '_xy?') + ,python3-wxpython,zstd-devel ]}' )) }} From 107fa97a8dfd091f429582bae3b17d3a8eb28c33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:51:30 -0500 Subject: [PATCH 082/158] use only join and string --- .github/workflows/osgeo4w.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ce47348f8b3..9e5d9d9cbc7 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -95,7 +95,17 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel ]}' )) }} - + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{ + join('proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + ,cairo-devel,fftw,freetype-devel,gdal-ecw + ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel', '_xy?') + }} + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From fccecba0e570d62b0b84530e7b5233a5799924fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:52:20 -0500 Subject: [PATCH 083/158] Disable bad try --- .github/workflows/osgeo4w.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9e5d9d9cbc7..15d415815f2 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -85,16 +85,16 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel ]}' )), '_xy?') }} - - run: echo "$env:Deps2" - env: - Deps2: >- - ${{ - toJson(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]}' )) - }} + # - run: echo "$env:Deps2" + # env: + # Deps2: >- + # ${{ + # toJson(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + # ,cairo-devel,fftw,freetype-devel,gdal-ecw + # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + # ,python3-wxpython,zstd-devel ]}' )) + # }} - run: echo "$env:Deps2" env: Deps2: >- From 43afa73b761f6383ed9427d7e2c517ac4446797e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:53:53 -0500 Subject: [PATCH 084/158] example join one line --- .github/workflows/osgeo4w.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 15d415815f2..b1092342486 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -105,7 +105,12 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel', '_xy?') }} - + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') + }} + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 83b3e2aff7ab4cfe57645843fbe59d2f76e2bf4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:54:57 -0500 Subject: [PATCH 085/158] fix bad yaml indentation --- .github/workflows/osgeo4w.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b1092342486..737669d5dca 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -105,11 +105,11 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel', '_xy?') }} - - run: echo "$env:Deps2" - env: - Deps2: >- - ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') - }} + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') + }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" From c0d249f104d9f7ea80c47290612158ec9acba42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:08:12 -0500 Subject: [PATCH 086/158] try fromjson --- .github/workflows/osgeo4w.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 737669d5dca..87d43a3e183 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -110,7 +110,10 @@ jobs: Deps2: >- ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') }} - + - run: echo "$env:Deps2" + env: + Deps2: >- + ${{fromJson('proj-devel,gdal-devel,geos-devel')}} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 17b8e9a2fe75accaa15093d87de6165e8f678b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:27:15 -0500 Subject: [PATCH 087/158] Use github-script to split --- .github/workflows/osgeo4w.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 87d43a3e183..78bd6d5d20d 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -110,10 +110,25 @@ jobs: Deps2: >- ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') }} - - run: echo "$env:Deps2" + # - run: echo "$env:Deps2" + # env: + # Deps2: >- + # ${{fromJson('proj-devel,gdal-devel,geos-devel')}} + - run: echo "1" + + - uses: actions/github-script@v7 + id: osgeo4w-pkgs + with: + script: return env.Deps1.split(","); env: - Deps2: >- - ${{fromJson('proj-devel,gdal-devel,geos-devel')}} + Deps1: >- + proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel + ,cairo-devel, fftw,freetype-devel,gdal-ecw + ,gdal-mrsid, liblas-devel,libxdr libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel + + - run: echo "${{ steps.osgeo4w-pkgs.outputs.result}}" # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 082587c976d0eaebfa62d9a65851fd0a5e5ab1ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:28:20 -0500 Subject: [PATCH 088/158] github.env --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 78bd6d5d20d..f348026a4ee 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -119,7 +119,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return env.Deps1.split(","); + script: return github.env.Deps1.split(","); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From adb0f39251a8e33cc29150ac0a9f443ccfd4c4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:34:15 -0500 Subject: [PATCH 089/158] Debug context --- .github/workflows/osgeo4w.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f348026a4ee..568105319e8 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -115,11 +115,20 @@ jobs: # Deps2: >- # ${{fromJson('proj-devel,gdal-devel,geos-devel')}} - run: echo "1" - + - uses: actions/github-script@v7 + with: + script: console.log(context) + env: + Deps1: >- + proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel + ,cairo-devel, fftw,freetype-devel,gdal-ecw + ,gdal-mrsid, liblas-devel,libxdr libpq-devel,pdcurses + ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + ,python3-wxpython,zstd-devel - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return github.env.Deps1.split(","); + script: process.env.Deps1.split(",") env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From 312f34fe5ddf12fcab01f6c79ef8528e6456e4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:37:17 -0500 Subject: [PATCH 090/158] add return --- .github/workflows/osgeo4w.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 568105319e8..e3cf3ef8e14 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -115,9 +115,6 @@ jobs: # Deps2: >- # ${{fromJson('proj-devel,gdal-devel,geos-devel')}} - run: echo "1" - - uses: actions/github-script@v7 - with: - script: console.log(context) env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -128,7 +125,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: process.env.Deps1.split(",") + script: return process.env.Deps1.split(","); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -138,6 +135,8 @@ jobs: ,python3-wxpython,zstd-devel - run: echo "${{ steps.osgeo4w-pkgs.outputs.result}}" + env: + Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From c3adca82a853e504070741960b098be27e7cb378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:40:52 -0500 Subject: [PATCH 091/158] split join --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index e3cf3ef8e14..13e3d2d2471 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,7 +125,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(","); + script: return process.env.Deps1.split(",").join(" ").split(" "); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From 085abce7bde2e9bb8df5d7535afa9e3aa5970c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:48:07 -0500 Subject: [PATCH 092/158] Split spaces --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 13e3d2d2471..258a18e9e69 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,7 +125,8 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(",").join(" ").split(" "); + script: return process.env.Deps1.split(" "); + # script: return process.env.Deps1.split(",").join(" ").split(" "); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From d9d4465f1fc89f38816a738979b0ca69639a89d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:50:53 -0500 Subject: [PATCH 093/158] Split space then comma --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 258a18e9e69..d478766e5f4 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,7 +125,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(" "); + script: return process.env.Deps1.split(" ").split(","); # script: return process.env.Deps1.split(",").join(" ").split(" "); env: Deps1: >- @@ -135,7 +135,7 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - run: echo "${{ steps.osgeo4w-pkgs.outputs.result}}" + - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} From 2c40787ecdfd09545ca387ab3430bb2e426f5450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:52:18 -0500 Subject: [PATCH 094/158] Split space, join comma split comma --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index d478766e5f4..dfde208682b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,7 +125,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(" ").split(","); + script: return process.env.Deps1.split(" ").join(",").split(","); # script: return process.env.Deps1.split(",").join(" ").split(" "); env: Deps1: >- From 27039a3bf0072788b7b899a955a0b6ad8d7582c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:56:10 -0500 Subject: [PATCH 095/158] Filter "" items --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index dfde208682b..baef4604d35 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,7 +125,7 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(" ").join(",").split(","); + script: return process.env.Deps1.split(" ").join(",").split(",").filter((x)=>x!=""); # script: return process.env.Deps1.split(",").join(" ").split(" "); env: Deps1: >- From c07aca1223805c2727af171edecbd35ba9076d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:59:22 -0500 Subject: [PATCH 096/158] Format script --- .github/workflows/osgeo4w.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index baef4604d35..f5b0ad6b207 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,8 +125,9 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - script: return process.env.Deps1.split(" ").join(",").split(",").filter((x)=>x!=""); - # script: return process.env.Deps1.split(",").join(" ").split(" "); + script: >- + return process.env.Deps1 + .split(",").join(" ").split(" ").filter((x) => x != ""); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From 379bd2629ca90218548a797c8c863a84953e71b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:01:45 -0500 Subject: [PATCH 097/158] join in github --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f5b0ad6b207..db89c432672 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -139,6 +139,9 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} + - run: echo '${{ join( steps.osgeo4w-pkgs.outputs.result, '_xy?') }}' + env: + Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From f829089b4293452ee520d1f017da0eb43a530e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:03:44 -0500 Subject: [PATCH 098/158] different join --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index db89c432672..14e4673b60a 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -139,7 +139,7 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo '${{ join( steps.osgeo4w-pkgs.outputs.result, '_xy?') }}' + - run: echo "${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }}" env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} From 18b3b754e7f377ed4bb5db53ef4145e7842e6f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:05:35 -0500 Subject: [PATCH 099/158] Join with .* --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 14e4673b60a..8b6443bfad2 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -139,7 +139,7 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo "${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }}" + - run: echo ${{ join( steps.osgeo4w-pkgs.outputs.result.*, '_') }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} From aee845823e501fc0489402648d2274c9ee6f6eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:07:21 -0500 Subject: [PATCH 100/158] return obj --- .github/workflows/osgeo4w.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 8b6443bfad2..a4b70c2ea6e 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -126,8 +126,8 @@ jobs: id: osgeo4w-pkgs with: script: >- - return process.env.Deps1 - .split(",").join(" ").split(" ").filter((x) => x != ""); + return {"pkg": process.env.Deps1 + .split(",").join(" ").split(" ").filter((x) => x != "")}; env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -139,9 +139,10 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo ${{ join( steps.osgeo4w-pkgs.outputs.result.*, '_') }} + - run: echo '${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }}' env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} + Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 1b8f2d3ec84961d2f5cabf622171e181e2acee2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:09:52 -0500 Subject: [PATCH 101/158] Different env tries --- .github/workflows/osgeo4w.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index a4b70c2ea6e..579d113ac32 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -139,10 +139,12 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo '${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }}' + - run: echo "${{ env.Deps5}}" env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} + Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} + Deps6: ${{ join(steps.osgeo4w-pkgs.outputs.result.pkg) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From f318fee8d7d8047c2e55e33664054ba2389ce075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:12:39 -0500 Subject: [PATCH 102/158] Add fromJson --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 579d113ac32..33fa9c81ae9 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -144,7 +144,7 @@ jobs: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} - Deps6: ${{ join(steps.osgeo4w-pkgs.outputs.result.pkg) }} + Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 68b863310655d6065cf6c83e8465067d6d1516cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:14:53 -0500 Subject: [PATCH 103/158] Remove join --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 33fa9c81ae9..8eb71d1165b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -144,7 +144,8 @@ jobs: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} - Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} + # Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} + Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 8577e8a3201beb7406673114d646cf977fe7469c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:16:46 -0500 Subject: [PATCH 104/158] remove result as obj --- .github/workflows/osgeo4w.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 8eb71d1165b..1a83a689c92 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -125,9 +125,12 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: + # script: >- + # return {"pkg": process.env.Deps1 + # .split(",").join(" ").split(" ").filter((x) => x != "")}; script: >- - return {"pkg": process.env.Deps1 - .split(",").join(" ").split(" ").filter((x) => x != "")}; + return process.env.Deps1 + .split(",").join(" ").split(" ").filter((x) => x != ""); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -139,13 +142,14 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo "${{ env.Deps5}}" + - run: echo "${{ env.Deps3}}" env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} - Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} + # Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} + # Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} # Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} - Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} + # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} + Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From b60729acc63a7344705288d585ffb0e65e0fa15e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:17:46 -0500 Subject: [PATCH 105/158] comment fromjson --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1a83a689c92..f64b8f56743 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -149,7 +149,7 @@ jobs: # Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} # Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} - Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} + # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 1c1196d958e3c92cdb6e7a4d60665b6d40892ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:18:38 -0500 Subject: [PATCH 106/158] single quote --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index f64b8f56743..b63c21a56b0 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -142,7 +142,7 @@ jobs: - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo "${{ env.Deps3}}" + - run: echo '${{ env.Deps3}}' env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} # Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} From 0d8b183059580ed93733f24aae916d4c6f9f6aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:19:48 -0500 Subject: [PATCH 107/158] Add join in env --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b63c21a56b0..ef2b7319a27 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -150,6 +150,7 @@ jobs: # Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} + Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 9ec22177f693d896a53150db921e699510fdcb92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:30:21 -0500 Subject: [PATCH 108/158] Try with labels --- .github/workflows/osgeo4w.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ef2b7319a27..720a51208ef 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -151,7 +151,12 @@ jobs: # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} - + - run: echo '${{ env.val1 }}' + env: + val1: ${{ join(github.event.pull_request.labels.*.name,',') }} + val2: ${{ join(github.event.pull_request.labels.*.name) }} + val3: ${{ join(github.event.pull_request.labels.*.name, '_') }} + # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: # Deps2: >- From c8ec9b8a0fa96146b3a4f9ccda2b4aa6a74d266a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:31:37 -0500 Subject: [PATCH 109/158] Add env --- .github/workflows/osgeo4w.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 720a51208ef..67df7e54c35 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -156,6 +156,8 @@ jobs: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} val2: ${{ join(github.event.pull_request.labels.*.name) }} val3: ${{ join(github.event.pull_request.labels.*.name, '_') }} + val4: ${{ github.event.pull_request.labels }} + val5: ${{ toJson(github.event.pull_request.labels) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" # env: From 5e34d39811226eec8029fac8604de4a3e1d1901e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:33:07 -0500 Subject: [PATCH 110/158] comment out bad template --- .github/workflows/osgeo4w.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 67df7e54c35..783d2552525 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -156,7 +156,7 @@ jobs: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} val2: ${{ join(github.event.pull_request.labels.*.name) }} val3: ${{ join(github.event.pull_request.labels.*.name, '_') }} - val4: ${{ github.event.pull_request.labels }} + # val4: ${{ github.event.pull_request.labels }} val5: ${{ toJson(github.event.pull_request.labels) }} # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" @@ -243,13 +243,15 @@ jobs: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe Deps: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel # removed: regex-devel,pdal-devel, + # Deps: >- + # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel + # ,cairo-devel,fftw,freetype-devel,gdal-ecw + # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses + # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 + # ,python3-wxpython,zstd-devel # Deps: >- # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel # Deps: >- From 9ad44b6be9fd57ed2241dc39c71585ad50f17ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:35:15 -0500 Subject: [PATCH 111/158] Try .result[*] --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 783d2552525..174313dbdc5 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -151,6 +151,7 @@ jobs: # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} + Deps10: ${{ join( steps.osgeo4w-pkgs.outputs.result[*], '_') }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From afec59f1bec6a103c16c926b25f650e4c5cd0276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:36:55 -0500 Subject: [PATCH 112/158] Try .result.*[0] --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 174313dbdc5..cee1cbd7642 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -152,6 +152,7 @@ jobs: # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} Deps10: ${{ join( steps.osgeo4w-pkgs.outputs.result[*], '_') }} + Deps11: ${{ join( steps.osgeo4w-pkgs.outputs.result.*[0], '_') }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From c5f2b3c892de103e356bce2012bf7992ea474978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:38:06 -0500 Subject: [PATCH 113/158] Try steps.osgeo4w-pkgs.outputs.result.* --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cee1cbd7642..9929276046f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -153,6 +153,7 @@ jobs: Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} Deps10: ${{ join( steps.osgeo4w-pkgs.outputs.result[*], '_') }} Deps11: ${{ join( steps.osgeo4w-pkgs.outputs.result.*[0], '_') }} + Deps12: ${{ join( steps.osgeo4w-pkgs.outputs.result.* , '_') }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From 4ce137ac2088c6688d4c76bd28e2ac7cc30fca48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:41:05 -0500 Subject: [PATCH 114/158] Try other with a tojson --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9929276046f..305c79e9207 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -154,6 +154,9 @@ jobs: Deps10: ${{ join( steps.osgeo4w-pkgs.outputs.result[*], '_') }} Deps11: ${{ join( steps.osgeo4w-pkgs.outputs.result.*[0], '_') }} Deps12: ${{ join( steps.osgeo4w-pkgs.outputs.result.* , '_') }} + Deps13: ${{ toJson( steps.osgeo4w-pkgs.outputs.result.*) }} + Deps14: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[2]) }} + Deps15: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[*]) }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From af0b814f554be91ffb5c9d205d6c1fb376271327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:44:32 -0500 Subject: [PATCH 115/158] tojson result --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 305c79e9207..b11251caa9c 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -157,6 +157,7 @@ jobs: Deps13: ${{ toJson( steps.osgeo4w-pkgs.outputs.result.*) }} Deps14: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[2]) }} Deps15: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[*]) }} + Deps16: ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From 5821efefb0421718ce39f3dfda318af96b79cc7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:46:42 -0500 Subject: [PATCH 116/158] Try other accessing --- .github/workflows/osgeo4w.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index b11251caa9c..5753030aec4 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -158,6 +158,9 @@ jobs: Deps14: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[2]) }} Deps15: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[*]) }} Deps16: ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} + Deps17: ${{ fromJson(toJson( steps.osgeo4w-pkgs.outputs.result)) }} + Deps18: ${{ toJson(fromJson(toJson( steps.osgeo4w-pkgs.outputs.result))) }} + Deps19: ${{ toJson(fromJson(toJson( steps.osgeo4w-pkgs.outputs.result))[3]) }} - run: echo '${{ env.val1 }}' env: val1: ${{ join(github.event.pull_request.labels.*.name,',') }} From 899e3d9614d42c46405350b713b098390103f96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:51:20 -0500 Subject: [PATCH 117/158] Change output of github script as string --- .github/workflows/osgeo4w.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 5753030aec4..46ed5c3afc7 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -128,9 +128,12 @@ jobs: # script: >- # return {"pkg": process.env.Deps1 # .split(",").join(" ").split(" ").filter((x) => x != "")}; + result-encoding: string script: >- return process.env.Deps1 - .split(",").join(" ").split(" ").filter((x) => x != ""); + .split(",").join(" ").split(" ") + .filter((x) => x != "") + .join(","); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -139,6 +142,9 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel + - run: echo ${{ steps.osgeo4w-pkgs.outputs.result}} + env: + Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} From 96743300edec0c67b69aa15d46550eb3b3eb6465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:53:01 -0500 Subject: [PATCH 118/158] Join with -P --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 46ed5c3afc7..d8dec3518c7 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -133,7 +133,8 @@ jobs: return process.env.Deps1 .split(",").join(" ").split(" ") .filter((x) => x != "") - .join(","); + // .join(","); + .join("-P "); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel From 1f10085158cbf757658e4d85936fab120a527937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:54:25 -0500 Subject: [PATCH 119/158] join with -P --- .github/workflows/osgeo4w.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index d8dec3518c7..97fd409dad2 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -134,7 +134,7 @@ jobs: .split(",").join(" ").split(" ") .filter((x) => x != "") // .join(","); - .join("-P "); + .join(" -P "); env: Deps1: >- proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel @@ -143,7 +143,7 @@ jobs: ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 ,python3-wxpython,zstd-devel - - run: echo ${{ steps.osgeo4w-pkgs.outputs.result}} + - run: echo "${{ steps.osgeo4w-pkgs.outputs.result}}" env: Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} From 4824d169bfa6eea472271043f27db3c77b67d34f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:58:29 -0500 Subject: [PATCH 120/158] Apply deps --- .github/workflows/osgeo4w.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 97fd409dad2..9adef612dce 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -259,8 +259,9 @@ jobs: env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe - Deps: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel + Deps: ${{ steps.osgeo4w-pkgs.outputs.result}} + # Deps: >- + # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel # removed: regex-devel,pdal-devel, # Deps: >- From 2f2027e53a199f5b14da68f4c84cb69197e60214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:09:44 -0500 Subject: [PATCH 121/158] Start cleaning workflow --- .github/workflows/osgeo4w.yml | 111 +--------------------------------- 1 file changed, 1 insertion(+), 110 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 9adef612dce..1d0472fb3aa 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -37,91 +37,6 @@ jobs: git config --global core.eol lf - run: | echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV - - run: echo $env:Deps2 - env: - Deps2: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel - - run: echo $env:Deps2 - env: - Deps2: >- - ${{ - toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]') - }} - - run: echo $env:Deps2 - env: - Deps2: >- - ${{ - toJson( 'proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel') - }} - - run: echo $env:Deps2 - env: - Deps2: >- - ${{ - fromJson(toJson( '[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]' )) - }} - - run: echo "$env:Deps2" - env: - Deps2: >- - ${{ - join(fromJson(toJson( '{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel ]}' )), '_xy?') - }} - # - run: echo "$env:Deps2" - # env: - # Deps2: >- - # ${{ - # toJson(fromJson('{"ab":[proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - # ,cairo-devel,fftw,freetype-devel,gdal-ecw - # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - # ,python3-wxpython,zstd-devel ]}' )) - # }} - - run: echo "$env:Deps2" - env: - Deps2: >- - ${{ - join('proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - ,cairo-devel,fftw,freetype-devel,gdal-ecw - ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel', '_xy?') - }} - - run: echo "$env:Deps2" - env: - Deps2: >- - ${{join('proj-devel,gdal-devel,geos-devel', '_xy?') - }} - # - run: echo "$env:Deps2" - # env: - # Deps2: >- - # ${{fromJson('proj-devel,gdal-devel,geos-devel')}} - - run: echo "1" - env: - Deps1: >- - proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel - ,cairo-devel, fftw,freetype-devel,gdal-ecw - ,gdal-mrsid, liblas-devel,libxdr libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel - uses: actions/github-script@v7 id: osgeo4w-pkgs with: @@ -249,13 +164,6 @@ jobs: - name: Install OSGeo4W run: | .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ - # -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default - # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # run: | - # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # run: | - # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default env: BASE_URL: https://download.osgeo.org/osgeo4w/v2 FILE_NAME: osgeo4w-setup.exe @@ -360,24 +268,7 @@ jobs: - run: ls -la /c/OSGeo4W/bin/ shell: msys2 {0} - - name: Install OSGeo4W second time - run: | - Start-Process ('.\${{ env.FILE_NAME }}') -ArgumentList '-A -g -k -q --no-desktop --no-shortcuts --no-startmenu \ - -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" ' -Wait | Out-Default - # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # run: | - # .\"${{ env.FILE_NAME }}" -A -g -k -q --no-desktop --no-shortcuts --no-startmenu -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - # run: | - # .\"${{ env.FILE_NAME }}" -A -g -k -q -s ${{ env.BASE_URL }} -P ${{ env.Deps }} -l "${{ env.PackageDir }}" | Out-Default - env: - BASE_URL: https://download.osgeo.org/osgeo4w/v2 - FILE_NAME: osgeo4w-setup.exe - Deps: >- - proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, - netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, - gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, - python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, - python3-wxpython,zstd-devel + - run: ls -la /c/OSGeo4W/bin/ shell: msys2 {0} From 77d46b014c31ca4401d846c6af23dde9d49e5add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:09:54 -0500 Subject: [PATCH 122/158] Remove with lapack --- mswindows/osgeo4w/build_osgeo4w.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/mswindows/osgeo4w/build_osgeo4w.sh b/mswindows/osgeo4w/build_osgeo4w.sh index 884a022a531..0fdb27377b7 100644 --- a/mswindows/osgeo4w/build_osgeo4w.sh +++ b/mswindows/osgeo4w/build_osgeo4w.sh @@ -43,7 +43,6 @@ echo "Print env done" --with-nls \ --with-readline \ --with-blas \ - --with-lapack \ --with-lapack-includes="/mingw64/include/lapack" \ --with-freetype \ --with-freetype-includes="${OSGEO4W_ROOT_MSYS}/include/freetype2" \ From c4f5cfb306a94889251db66d28186e68f75fd500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:16:56 -0500 Subject: [PATCH 123/158] Continue cleaning --- .github/workflows/osgeo4w.yml | 86 ++++------------------------------- 1 file changed, 9 insertions(+), 77 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 1d0472fb3aa..70890eef22b 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -40,65 +40,21 @@ jobs: - uses: actions/github-script@v7 id: osgeo4w-pkgs with: - # script: >- - # return {"pkg": process.env.Deps1 - # .split(",").join(" ").split(" ").filter((x) => x != "")}; result-encoding: string script: >- - return process.env.Deps1 + return process.env.Deps .split(",").join(" ").split(" ") .filter((x) => x != "") // .join(","); .join(" -P "); env: - Deps1: >- - proj-devel,gdal-devel, geos-devel libtiff-devel ,libpng-devel,netcdf-devel - ,cairo-devel, fftw,freetype-devel,gdal-ecw - ,gdal-mrsid, liblas-devel,libxdr libpq-devel,pdcurses - ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - ,python3-wxpython,zstd-devel + Deps: >- + proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, + netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, + gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, + python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, + python3-wxpython,zstd-devel - - run: echo "${{ steps.osgeo4w-pkgs.outputs.result}}" - env: - Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} - env: - Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - - run: echo '${{ env.Deps3}}' - env: - Deps3: ${{ steps.osgeo4w-pkgs.outputs.result}} - # Deps4: ${{ join( steps.osgeo4w-pkgs.outputs.result.pkg, '_') }} - # Deps5: ${{ steps.osgeo4w-pkgs.outputs.result.pkg }} - # Deps6: ${{ join(fromJson(steps.osgeo4w-pkgs.outputs.result.pkg)) }} - # Deps7: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result.pkg) }} - # Deps8: ${{ fromJson(steps.osgeo4w-pkgs.outputs.result) }} - Deps9: ${{ join( steps.osgeo4w-pkgs.outputs.result, '_') }} - Deps10: ${{ join( steps.osgeo4w-pkgs.outputs.result[*], '_') }} - Deps11: ${{ join( steps.osgeo4w-pkgs.outputs.result.*[0], '_') }} - Deps12: ${{ join( steps.osgeo4w-pkgs.outputs.result.* , '_') }} - Deps13: ${{ toJson( steps.osgeo4w-pkgs.outputs.result.*) }} - Deps14: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[2]) }} - Deps15: ${{ toJson( steps.osgeo4w-pkgs.outputs.result[*]) }} - Deps16: ${{ toJson( steps.osgeo4w-pkgs.outputs.result) }} - Deps17: ${{ fromJson(toJson( steps.osgeo4w-pkgs.outputs.result)) }} - Deps18: ${{ toJson(fromJson(toJson( steps.osgeo4w-pkgs.outputs.result))) }} - Deps19: ${{ toJson(fromJson(toJson( steps.osgeo4w-pkgs.outputs.result))[3]) }} - - run: echo '${{ env.val1 }}' - env: - val1: ${{ join(github.event.pull_request.labels.*.name,',') }} - val2: ${{ join(github.event.pull_request.labels.*.name) }} - val3: ${{ join(github.event.pull_request.labels.*.name, '_') }} - # val4: ${{ github.event.pull_request.labels }} - val5: ${{ toJson(github.event.pull_request.labels) }} - - # - run: echo "${{ fromJson( format('{"pkgs":[{0}]}', env.Deps2).pkgs ) }}" - # env: - # Deps2: >- - # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - # ,cairo-devel,fftw,freetype-devel,gdal-ecw - # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - # ,python3-wxpython,zstd-devel - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: msys2/setup-msys2@v2 with: @@ -172,21 +128,7 @@ jobs: # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel # removed: regex-devel,pdal-devel, - # Deps: >- - # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel - # ,cairo-devel,fftw,freetype-devel,gdal-ecw - # ,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses - # ,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32 - # ,python3-wxpython,zstd-devel - # Deps: >- - # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel,netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw,gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses,python3-matplotlib,python3-numpy,python3-ply,python3-pywin32,python3-wxpython,zstd-devel - # Deps: >- - # proj-devel,gdal-devel,geos-devel,libtiff-devel,libpng-devel, - # netcdf-devel,cairo-devel,fftw,freetype-devel,gdal-ecw, - # gdal-mrsid,liblas-devel,libxdr,libpq-devel,pdcurses, - # python3-matplotlib,python3-numpy,python3-ply,python3-pywin32, - # python3-wxpython,zstd-devel - # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending + # - name: Remove outdated OSGeo4W cached packages # shell: msys2 {0} # # First sed pattern: @@ -206,9 +148,7 @@ jobs: # continue-on-error: true # env: # PackageDir: ${{ env.PackageDir }} - # - run: echo "${{ hashFiles( format('{0}{1}', env.PackageDir,'/**/proj-data**')) }}" - - # - run: Get-ChildItem -Path ${{ env.PackageDir }} -Recurse -File | sort length -Descending + # - name: Install OSGeo4W # run: | @@ -258,20 +198,12 @@ jobs: shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ shell: msys2 {0} - - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config - - run: git ls-tree HEAD mswindows/osgeo4w/gdal-config - shell: msys2 {0} - run: pwd shell: msys2 {0} - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ shell: msys2 {0} - - - - run: ls -la /c/OSGeo4W/bin/ - shell: msys2 {0} - - name: Compile GRASS GIS run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} From 097965591cac32c087512343859d65c82713487a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:18:24 -0500 Subject: [PATCH 124/158] Use make -j for infinite jobs --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 70890eef22b..cf9c03b9389 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -208,7 +208,7 @@ jobs: run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} env: - MAKEFLAGS: -j0 + MAKEFLAGS: -j OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 - run: ls -la mswindows/osgeo4w/ From aba3d2c5d842e12f5cbbb0a0b8c8f285bc5b51a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:38:35 -0500 Subject: [PATCH 125/158] Use pacboy --- .github/workflows/osgeo4w.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cf9c03b9389..23ccb6a9dc3 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -62,12 +62,10 @@ jobs: location: D:\ msystem: mingw64 update: true - install: tar libintl make bison flex diffutils git dos2unix zip mingw-w64-x86_64-toolchain - mingw-w64-x86_64-fftw mingw-w64-x86_64-lapack mingw-w64-x86_64-pkgconf - mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-zlib mingw-w64-x86_64-libiconv - mingw-w64-x86_64-bzip2 mingw-w64-x86_64-gettext mingw-w64-x86_64-libsystre - mingw-w64-x86_64-libtre-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-libpng - mingw-w64-x86_64-pcre + pacboy: >- + tar:p libintl:p make:p bison:p flex:p diffutils:p git:p dos2unix:p zip:p toolchain:p + fftw:p lapack:p pkgconf:p gcc:p ccache:p zlib:p libiconv:p bzip2:p gettext:p + libsystre:p libtre-git:p libwinpthread-git:p libpng:p pcre:p # not removed: mingw-w64-x86_64-libpng From 7523c3569c95956b36409deb4b6d6331098b68df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:39:12 -0500 Subject: [PATCH 126/158] GCC_COLORS --- .github/workflows/osgeo4w.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 23ccb6a9dc3..cf7acf4a55f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -209,6 +209,7 @@ jobs: MAKEFLAGS: -j OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 + GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - run: ls -la mswindows/osgeo4w/ if: ${{ always() }} shell: msys2 {0} From 19d2038d60ef945fbe195f71ab983f58d64af4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:44:10 -0500 Subject: [PATCH 127/158] some packages aren't available in mingw-w64-x86_64- only --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index cf7acf4a55f..7cb8c4d75cb 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -63,7 +63,7 @@ jobs: msystem: mingw64 update: true pacboy: >- - tar:p libintl:p make:p bison:p flex:p diffutils:p git:p dos2unix:p zip:p toolchain:p + tar libintl make:p bison flex diffutils:p git dos2unix zip toolchain:p fftw:p lapack:p pkgconf:p gcc:p ccache:p zlib:p libiconv:p bzip2:p gettext:p libsystre:p libtre-git:p libwinpthread-git:p libpng:p pcre:p # not removed: mingw-w64-x86_64-libpng From e3a5ee459d23add7da842c7c4bf41ecdfe3d6ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:48:18 -0500 Subject: [PATCH 128/158] pacboy with only `name:` suffix --- .github/workflows/osgeo4w.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 7cb8c4d75cb..40678295579 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -62,8 +62,10 @@ jobs: location: D:\ msystem: mingw64 update: true + # install: tar libintl bison flex git dos2unix zip pacboy: >- - tar libintl make:p bison flex diffutils:p git dos2unix zip toolchain:p + tar: libintl: bison: flex: git: dos2unix: zip: + make:p diffutils:p toolchain:p fftw:p lapack:p pkgconf:p gcc:p ccache:p zlib:p libiconv:p bzip2:p gettext:p libsystre:p libtre-git:p libwinpthread-git:p libpng:p pcre:p # not removed: mingw-w64-x86_64-libpng From cc42b207c77ac3e8edabfa32f264db95eda3ec53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:00:44 -0500 Subject: [PATCH 129/158] `make:` only --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 40678295579..218091717bd 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -65,7 +65,7 @@ jobs: # install: tar libintl bison flex git dos2unix zip pacboy: >- tar: libintl: bison: flex: git: dos2unix: zip: - make:p diffutils:p toolchain:p + make: diffutils:p toolchain:p fftw:p lapack:p pkgconf:p gcc:p ccache:p zlib:p libiconv:p bzip2:p gettext:p libsystre:p libtre-git:p libwinpthread-git:p libpng:p pcre:p # not removed: mingw-w64-x86_64-libpng From 6a64f084dc807f0c964a006860c2296f9983c5a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:02:57 -0500 Subject: [PATCH 130/158] Add ccache status --- .github/workflows/osgeo4w.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 218091717bd..299d5d69e98 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -194,6 +194,9 @@ jobs: # !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev # !${{ env.PackageDir }}/*/*/setup.ini + - run: ccache -s -v -v + if: ${{ always() }} + shell: msys2 {0} - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ @@ -218,6 +221,12 @@ jobs: - run: ls -la /c/OSGeo4W/bin/ if: ${{ always() }} shell: msys2 {0} + - run: ls -la .ccache + if: ${{ always() }} + shell: msys2 {0} + - run: ccache -s -v -v + if: ${{ always() }} + shell: msys2 {0} #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . From cde516b1908ce08d7b0a5d1bbdae072f8ffba64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 00:00:25 -0500 Subject: [PATCH 131/158] Comment out ccache manual --- .github/workflows/osgeo4w.yml | 37 ++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 299d5d69e98..27c30aaef19 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -194,9 +194,27 @@ jobs: # !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev # !${{ env.PackageDir }}/*/*/setup.ini - - run: ccache -s -v -v - if: ${{ always() }} - shell: msys2 {0} + # - run: ccache -s -v -v + # if: ${{ always() }} + # shell: msys2 {0} + # - name: Configure ccache settings + # run: | + # ccache --set-config=cache_dir='${{ github.workspace }}/.ccache' + # ccache --set-config=max_size=500M + # ccache --set-config=compression=true + # echo "ccache config:" + # ccache --show-config + # ccache --zero-stats + # shell: msys2 {0} + # - name: Configure ccache settings + # run: | + # ccache --set-config=cache_dir='${{ github.workspace }}/.ccache' + # ccache --set-config=max_size=500M + # ccache --set-config=compression=true + # echo "ccache config:" + # ccache -p + # shell: msys2 {0} + - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ @@ -221,12 +239,13 @@ jobs: - run: ls -la /c/OSGeo4W/bin/ if: ${{ always() }} shell: msys2 {0} - - run: ls -la .ccache - if: ${{ always() }} - shell: msys2 {0} - - run: ccache -s -v -v - if: ${{ always() }} - shell: msys2 {0} + # - run: mkdir -p .ccache && ls -la .ccache + # if: ${{ always() }} + # shell: msys2 {0} + # - run: ccache --show-stats -v -v + # if: ${{ always() }} + # shell: msys2 {0} + #- name: Compile GRASS GIS #run: .github/workflows/build_osgeo4w.sh . From 5fc780ef4a051575f5d6909b84cb187cd7310f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 00:00:49 -0500 Subject: [PATCH 132/158] Add ccache action --- .github/workflows/osgeo4w.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 27c30aaef19..2c5afa7a507 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -37,6 +37,8 @@ jobs: git config --global core.eol lf - run: | echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 - uses: actions/github-script@v7 id: osgeo4w-pkgs with: From 93a458f193c5647dca94244e99c5c01385bf9651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 00:21:10 -0500 Subject: [PATCH 133/158] add ccache env var --- .github/workflows/osgeo4w.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 2c5afa7a507..ebea2c9a940 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -61,7 +61,7 @@ jobs: - uses: msys2/setup-msys2@v2 with: path-type: inherit - location: D:\ + # location: D:\ msystem: mingw64 update: true # install: tar libintl bison flex git dos2unix zip @@ -235,6 +235,9 @@ jobs: OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + CC: 'ccache x86_64-w64-mingw32-gcc' + CXX: 'ccache x86_64-w64-mingw32-g++' + - run: ls -la mswindows/osgeo4w/ if: ${{ always() }} shell: msys2 {0} From 30dab51ada588857b36cc65f17df7fbf4a06f2a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 09:06:24 -0500 Subject: [PATCH 134/158] Use -j 2 --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index ebea2c9a940..09927d2c7b9 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -231,7 +231,7 @@ jobs: run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} env: - MAKEFLAGS: -j + MAKEFLAGS: -j 2 OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' From a9a025e416e8be380fc6fd5b5bc09eff7a3f920c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:49:24 -0500 Subject: [PATCH 135/158] Changing builtin import since it was python 2 syntax only --- gui/wxpython/core/toolboxes.py | 2 +- gui/wxpython/core/utils.py | 2 +- gui/wxpython/tools/build_modules_xml.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gui/wxpython/core/toolboxes.py b/gui/wxpython/core/toolboxes.py index cdf1079eba0..60a92c5f3ad 100644 --- a/gui/wxpython/core/toolboxes.py +++ b/gui/wxpython/core/toolboxes.py @@ -757,7 +757,7 @@ def new_translator(string): sys.displayhook = new_displayhook sys.__displayhook__ = new_displayhook - import __builtin__ + import builtins as __builtin__ __builtin__._ = new_translator diff --git a/gui/wxpython/core/utils.py b/gui/wxpython/core/utils.py index 2d291e03dfc..3937efc1d48 100644 --- a/gui/wxpython/core/utils.py +++ b/gui/wxpython/core/utils.py @@ -1134,7 +1134,7 @@ def new_translator(string): sys.displayhook = new_displayhook - import __builtin__ + import builtins as __builtin__ __builtin__._ = new_translator diff --git a/gui/wxpython/tools/build_modules_xml.py b/gui/wxpython/tools/build_modules_xml.py index 8022b816435..c59a2ea2646 100644 --- a/gui/wxpython/tools/build_modules_xml.py +++ b/gui/wxpython/tools/build_modules_xml.py @@ -43,7 +43,7 @@ def new_translator(string): sys.displayhook = new_displayhook sys.__displayhook__ = new_displayhook - import __builtin__ + import builtins as __builtin__ __builtin__._ = new_translator From 33e6a5eab48e0baaead128a8392754c08e723501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:49:45 -0500 Subject: [PATCH 136/158] Use -j 4 --- .github/workflows/osgeo4w.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 09927d2c7b9..640fd4e45dc 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -231,7 +231,7 @@ jobs: run: SRC="$(pwd)" ./mswindows/osgeo4w/build_osgeo4w.sh shell: msys2 {0} env: - MAKEFLAGS: -j 2 + MAKEFLAGS: -j 4 OSGEO4W_ROOT_MSYS: /c/OSGeo4W UNITTEST: 1 GCC_COLORS: 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' From dddd3b902c3d074cbfe3fb2f92bfc2f8cc4bb55a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:53:06 -0500 Subject: [PATCH 137/158] Set ccache after msys install --- .github/workflows/osgeo4w.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 640fd4e45dc..85f59c8e6c5 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -37,8 +37,6 @@ jobs: git config --global core.eol lf - run: | echo "PackageDir=OSGeo4W_v2-Packages" >> $env:GITHUB_ENV - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - uses: actions/github-script@v7 id: osgeo4w-pkgs with: @@ -196,6 +194,9 @@ jobs: # !${{ env.PackageDir }}/*/*/*/gdal/gdal-dev # !${{ env.PackageDir }}/*/*/setup.ini + + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 # - run: ccache -s -v -v # if: ${{ always() }} # shell: msys2 {0} @@ -216,7 +217,7 @@ jobs: # echo "ccache config:" # ccache -p # shell: msys2 {0} - + - run: ls -la mswindows/osgeo4w/ shell: msys2 {0} - run: ls -la /c/OSGeo4W/bin/ From 7199c81064d1bb4bdac10fcb4723a01c95ac9eed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 20 Jan 2024 01:02:25 -0500 Subject: [PATCH 138/158] Pytest: Add codecov upload --- .github/workflows/pytest.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 9b8db8ae440..23d8b228f48 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -51,7 +51,7 @@ jobs: python -m pip install --upgrade pip pip install -r .github/workflows/python_requirements.txt pip install -r .github/workflows/optional_requirements.txt - pip install pytest pytest-timeout pytest-github-actions-annotate-failures pytest-xdist + pip install pytest pytest-timeout pytest-github-actions-annotate-failures pytest-xdist pytest-cov - name: Create installation directory run: | @@ -75,11 +75,16 @@ jobs: run: | export PYTHONPATH=`grass --config python_path`:$PYTHONPATH export LD_LIBRARY_PATH=$HOME/install/grass84/lib:$LD_LIBRARY_PATH - pytest --numprocesses auto . + pytest --cov --numprocesses auto . - name: Print installed versions if: always() run: .github/workflows/print_versions.sh + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} pytest-success: name: pytest Result needs: From 02d0ebf14e09d664b1124f288f453bd0b6c6924d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 21 Jan 2024 14:13:46 -0500 Subject: [PATCH 139/158] CI: Configure code coverage for codecov * pytest: add codecov for C build * pytest: use --coverage for gcc compile * pytest: remove CXXFLAGS --coverage * pytest: add `--coverage` in LDFLAGS * pytest: add gcov to CodeCov uploader * CI: add code coverage upload to ubuntu workflow * CI: Add codecov config and better flags * CI: Use coverage.py when running Ubuntu tests * CI: add flags to ubuntu codecov upload * CI: add flags to pytest codecov upload * CI: add components to codecov coverage * CI: Simplify gcov flags in Ubuntu and Pytest builds * CI: add name to codecov uploads * CI: Print installed versions right after build, before test (as smoke test) * CI: Add branch coverage for coverage.py and pytest-cov * pytest: add verbose and color output * pytest: Use logical cores and use worksteal scheduling * CI: Add coverage files to .gitignore * CI: Pass extra args to test_thorough.sh script for config * CI: Ubuntu test if excluding test in generated config works correctly * CI: test ignoring multiple top level directories on a single line * CI: Add extra exclude to Ubuntu matrix * CI: remove name from ubuntu to see all matrix jobs * CI: Ubuntu matrix set config as key * CI: Use name as main matrix variable * CI: Make ubuntu artifacts unique * CI: Remove commented out name of matrix jobs for Ubuntu * CI: Remove elements from bash array --- .github/workflows/pytest.yml | 22 ++++-- .github/workflows/test_thorough.sh | 9 ++- .github/workflows/ubuntu.yml | 19 ++++- .gitignore | 6 ++ codecov.yml | 113 +++++++++++++++++++++++++++++ 5 files changed, 159 insertions(+), 10 deletions(-) create mode 100644 codecov.yml diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 23d8b228f48..acda2cc0c1c 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -51,7 +51,7 @@ jobs: python -m pip install --upgrade pip pip install -r .github/workflows/python_requirements.txt pip install -r .github/workflows/optional_requirements.txt - pip install pytest pytest-timeout pytest-github-actions-annotate-failures pytest-xdist pytest-cov + pip install pytest[psutil] pytest-timeout pytest-github-actions-annotate-failures pytest-xdist pytest-cov - name: Create installation directory run: | @@ -63,11 +63,19 @@ jobs: - name: Build run: .github/workflows/build_${{ matrix.os }}.sh $HOME/install + env: + CFLAGS: -fPIC --coverage -g -O0 -fprofile-abs-path + CXXFLAGS: -fPIC --coverage -g -O0 -fprofile-abs-path + LDFLAGS: --coverage - name: Add the bin directory to PATH run: | echo "$HOME/install/bin" >> $GITHUB_PATH + - name: Print installed versions + if: always() + run: .github/workflows/print_versions.sh + - name: Test executing of the grass command run: .github/workflows/test_simple.sh @@ -75,16 +83,18 @@ jobs: run: | export PYTHONPATH=`grass --config python_path`:$PYTHONPATH export LD_LIBRARY_PATH=$HOME/install/grass84/lib:$LD_LIBRARY_PATH - pytest --cov --numprocesses auto . - - - name: Print installed versions - if: always() - run: .github/workflows/print_versions.sh + pytest --verbose --color=yes --cov --cov-branch --numprocesses logical . --dist worksteal - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 + with: + verbose: true + gcov: true + flags: pytest-python-${{ matrix.python-version }} + name: pytest-python-${{ matrix.python-version }} env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + pytest-success: name: pytest Result needs: diff --git a/.github/workflows/test_thorough.sh b/.github/workflows/test_thorough.sh index 6c4d9e32b91..fd4c4f276cf 100755 --- a/.github/workflows/test_thorough.sh +++ b/.github/workflows/test_thorough.sh @@ -3,10 +3,17 @@ # fail on non-zero return code from a subprocess set -e +if [[ -z "${PYTHON}" ]]; then + PYTHON="python3" +else + PYTHON="${PYTHON}" +fi + grass --tmp-location XY --exec \ g.download.location url=https://grass.osgeo.org/sampledata/north_carolina/nc_spm_full_v2alpha2.tar.gz path=$HOME + grass --tmp-location XY --exec \ - python3 -m grass.gunittest.main \ + ${PYTHON} -m grass.gunittest.main \ --grassdata $HOME --location nc_spm_full_v2alpha2 --location-type nc \ --min-success 100 $@ diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 9e42b728089..cdc72387322 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -104,7 +104,7 @@ jobs: - name: Get dependencies run: | sudo apt-get update -y - sudo apt-get install -y wget git gawk findutils + sudo apt-get install -y wget git gawk findutils python3-coverage xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \ sudo apt-get install -y --no-install-recommends --no-install-suggests @@ -130,9 +130,10 @@ jobs: - name: Build env: # TODO: -pedantic-errors here won't go through ./configure (with GNU C) - CFLAGS: -fPIC -Wvla + CFLAGS: -fPIC -Wvla --coverage -g -O0 -fprofile-abs-path # TODO: -pedantic-errors here won't compile - CXXFLAGS: -fPIC + CXXFLAGS: -fPIC --coverage -g -O0 -fprofile-abs-path + LDFLAGS: --coverage run: .github/workflows/build_${{ matrix.config }}.sh $HOME/install -Werror - name: Add the bin directory to PATH @@ -148,6 +149,8 @@ jobs: - name: Run tests run: .github/workflows/test_thorough.sh --config .gunittest.extra.cfg + env: + PYTHON: python3-coverage run --branch - name: Make HTML test report available if: ${{ always() }} @@ -157,6 +160,16 @@ jobs: path: testreport retention-days: 3 + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + with: + verbose: true + gcov: true + flags: gunittest-${{ matrix.config }} + name: gunittest-${{ matrix.config }}-${{ matrix.extra-include }} + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + build-and-test-success: name: Build & Test Result needs: diff --git a/.gitignore b/.gitignore index bc8ac301e89..6a0461193b9 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,9 @@ test_keyvalue_result.txt # ignore paths generated by helper tools node_modules + +# Ignore code coverage files +*.gcov +*.gcno +*.gcda +.coverage diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000000..47236c7b3d4 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,113 @@ +coverage: + status: + project: + default: + target: auto # auto compares coverage to the previous base commit + informational: true + patch: + default: + informational: true +component_management: + # default_rules: # default rules that will be inherited by all components + # statuses: + # - type: project # in this case every component that doens't have a status defined will have a project type one + # target: auto + # branches: + # - "!main" + individual_components: + - component_id: modules_database # this is an identifier that should not be changed + name: db # this is a display name, and can be changed freely + paths: + - db/** + - lib/db/** + - scripts/db.*/** + - component_id: modules_display + name: display + paths: + - display/** + - lib/display/** + - scripts/d.*/** + - component_id: modules_general + name: general + paths: + - general/** + - scripts/g.*/** + - component_id: gui + name: gui + paths: + - gui/** + - component_id: modules_imagery + name: imagery + paths: + - imagery/** + - lib/imagery/** + - scripts/i.*/** + - component_id: man + name: man + paths: + - man/** + - component_id: modules_misc + name: imagery + paths: + - misc/** + - scripts/m.*/** + - component_id: modules_postscript + name: ps + paths: + - ps/** + - component_id: modules_raster + name: raster + paths: + - raster/** + - lib/raster/** + - scripts/r.*/** + - component_id: modules_raster3d + name: raster3d + paths: + - raster3d/** + - lib/raster3d/** + - scripts/r3.*/** + - component_id: modules_temporal + name: temporal + paths: + - temporal/** + - lib/temporal/** + - scripts/t.*/** + - component_id: modules_vector + name: vector + paths: + - vector/** + - lib/vector/** + - scripts/v.*/** + - component_id: utils + paths: + - utils/** + - component_id: scripts + paths: + - scripts/** + - component_id: library + name: lib + paths: + - lib/** + - component_id: python_pygrass + name: pygrass + paths: + - python/grass/pygrass/** + - component_id: python_gunittest + name: gunittest + paths: + - python/grass/gunittest/** + - component_id: notebooks + name: notebooks (jupyter) + paths: + - python/grass/jupyter/** + - "**/*.ipynb" + - component_id: python_library + name: python library + paths: + - python/grass/** +# comment: +# require_changes: true + +# When modifying this file, please validate using +# curl -X POST --data-binary @codecov.yml https://codecov.io/validate From cf888243392c147bed5eb6dbee9131e825ddccba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Tue, 23 Jan 2024 13:07:56 -0500 Subject: [PATCH 140/158] pytest: Use numprocesses auto instead of logical cores --- .github/workflows/pytest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index acda2cc0c1c..e9b8c4bef56 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -51,7 +51,7 @@ jobs: python -m pip install --upgrade pip pip install -r .github/workflows/python_requirements.txt pip install -r .github/workflows/optional_requirements.txt - pip install pytest[psutil] pytest-timeout pytest-github-actions-annotate-failures pytest-xdist pytest-cov + pip install pytest pytest-timeout pytest-github-actions-annotate-failures pytest-xdist pytest-cov - name: Create installation directory run: | @@ -83,7 +83,7 @@ jobs: run: | export PYTHONPATH=`grass --config python_path`:$PYTHONPATH export LD_LIBRARY_PATH=$HOME/install/grass84/lib:$LD_LIBRARY_PATH - pytest --verbose --color=yes --cov --cov-branch --numprocesses logical . --dist worksteal + pytest --verbose --color=yes --cov --cov-branch --numprocesses auto . --dist worksteal - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 From 0699188807d20e30465c1535b32ca4b6a285dd0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 27 Jan 2024 11:45:55 -0500 Subject: [PATCH 141/158] CI: Configure code coverage for python subprocess calls * v.report: add test shell script from example in docs * CI: Use multiple flags for code coverage upload * CI: add scripts folder as separate Ubuntu jobs * CI: run Ubuntu workflow on all PRs * CI: run pytest workflow on all PRs * v.report: Add reference output for test script * v.report: compare script output to golden copy * CI: use parallel mode and concurrency of coverage.py * CI(tests): Configure python coverage for subprocesses * Ci(tests): Show python coverage report * CI(tests): Set source paths in .coveragerc to see not executed files * Ci(tests): Upload python code coverage report artifact * CI: Add lib folder to known test folders to split tests --- .coveragerc | 36 +++++++++++++++ .github/workflows/pytest.yml | 5 ++- .github/workflows/ubuntu.yml | 28 ++++++++++-- .../v.report/testsuite/data/test_1_report.ref | 45 +++++++++++++++++++ scripts/v.report/testsuite/test_v_report.sh | 17 +++++++ 5 files changed, 126 insertions(+), 5 deletions(-) create mode 100644 .coveragerc create mode 100644 scripts/v.report/testsuite/data/test_1_report.ref create mode 100644 scripts/v.report/testsuite/test_v_report.sh diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000000..fd29122492e --- /dev/null +++ b/.coveragerc @@ -0,0 +1,36 @@ +[run] +branch = True +dynamic_context = test_function +concurrency = multiprocessing,thread +parallel = True +data_file = ${INITIAL_PWD-.}/.coverage +omit = ${INITIAL_PWD-.}/testreport +source = + ${INITIAL_PWD-.}/ + ${INITIAL_GISBASE-/usr/local/grass84}/ + + +[report] +; Regexes for lines to exclude from consideration +exclude_also = + ; Don't complain about missing debug-only code: + def __repr__ + if self\.debug + + ; Don't complain if tests don't hit defensive assertion code: + raise AssertionError + raise NotImplementedError + + ; Don't complain if non-runnable code isn't run: + ; if 0: + ; if __name__ == .__main__.: + + ; Don't complain about abstract methods, they aren't run: + @(abc\.)?abstractmethod + +ignore_errors = True +precision = 2 + +[html] +directory = coverage_html_report +show_contexts = true diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index e9b8c4bef56..ff43d6604c9 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -10,6 +10,7 @@ on: branches: - main - releasebranch_* + - '*' jobs: pytest: @@ -83,7 +84,9 @@ jobs: run: | export PYTHONPATH=`grass --config python_path`:$PYTHONPATH export LD_LIBRARY_PATH=$HOME/install/grass84/lib:$LD_LIBRARY_PATH - pytest --verbose --color=yes --cov --cov-branch --numprocesses auto . --dist worksteal + INITIAL_PWD="${PWD}" pytest --verbose --color=yes --cov --cov-branch --numprocesses auto . --dist worksteal + env: + INITIAL_GISBASE: $HOME/install/grass84 - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index cdc72387322..ce0831608c8 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -43,6 +43,7 @@ jobs: # newlines with spaces, and strip newline at end. # See https://yaml-multiline.info/ - temporal + - scripts - >- db display doc docker general gui imagery lib misc ps python raster raster3d scripts @@ -119,6 +120,9 @@ jobs: - name: Set LD_LIBRARY_PATH for compilation run: | echo "LD_LIBRARY_PATH=$HOME/install/lib" >> $GITHUB_ENV + - name: Set COVERAGE_PROCESS_START env variable + run: | + echo "COVERAGE_PROCESS_START=${PWD}/.coveragerc" >> $GITHUB_ENV - name: Print build environment variables shell: bash -el {0} @@ -147,11 +151,20 @@ jobs: - name: Test executing of the grass command run: .github/workflows/test_simple.sh + - name: Place a sitecustomize.py file enabling subprocess code coverage + run: | + mkdir -p $(python -m site --user-site) + printf "import coverage\ncoverage.process_startup()" \ + > "$(python -m site --user-site)/sitecustomize.py" - name: Run tests - run: .github/workflows/test_thorough.sh --config .gunittest.extra.cfg + run: INITIAL_PWD="${PWD}" .github/workflows/test_thorough.sh --config .gunittest.extra.cfg env: - PYTHON: python3-coverage run --branch - + PYTHON: python3-coverage run --branch --parallel-mode --concurrency=multiprocessing,thread + INITIAL_GISBASE: $HOME/install/grass84 + - run: python3-coverage combine + - name: Show python coverage report summary + run: python3-coverage report + - run: python3-coverage html - name: Make HTML test report available if: ${{ always() }} uses: actions/upload-artifact@v4 @@ -159,13 +172,20 @@ jobs: name: testreport-${{ matrix.os }}-${{ matrix.config }}-${{ matrix.extra-include }} path: testreport retention-days: 3 + - name: Make python-only code coverage test report available + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: python-codecoverage-report-${{ matrix.os }}-${{ matrix.config }}-${{ matrix.extra-include }} + path: coverage_html_report + retention-days: 3 - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 with: verbose: true gcov: true - flags: gunittest-${{ matrix.config }} + flags: gunittest,gunittest-${{ matrix.config }},gunittest-${{ matrix.config }}-${{ matrix.extra-include }} name: gunittest-${{ matrix.config }}-${{ matrix.extra-include }} env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/scripts/v.report/testsuite/data/test_1_report.ref b/scripts/v.report/testsuite/data/test_1_report.ref new file mode 100644 index 00000000000..cef50be84c7 --- /dev/null +++ b/scripts/v.report/testsuite/data/test_1_report.ref @@ -0,0 +1,45 @@ +cat|OBJECTID|WAKE_ZIPCO|PERIMETER|ZIPCODE_|ZIPCODE_ID|ZIPNAME|ZIPNUM|ZIPCODE|NAME|SHAPE_Leng|SHAPE_Area|area +1|1|262493461.286|80746.40038|2|27|CREEDMOOR|27522|CREEDMOOR 27522|CREEDMOOR|80777.650719|262372872.587|2437.53231278035 +2|2|31634621.1616|31064.35816|7|25|YOUNGSVILLE|27596|YOUNGSVILLE 27596|YOUNGSVILLE|31064.35845|31634622.1247|293.896432048061 +3|3|543964359.138|115252.44443|8|20|RALEIGH|27615|RALEIGH 27615|RALEIGH|115252.443861|543964358.996|5053.61542941077 +4|4|58736529.666|36836.75795|10|26|YOUNGSVILLE|27596|YOUNGSVILLE 27596|YOUNGSVILLE|36836.756996|58736530.8791|545.681548844361 +5|7|12788390.3938|32416.21157|15|157|DURHAM|27703|DURHAM 27703|DURHAM|30664.931929|12593277.3902|116.906610607967 +6|8|602469071.217|147112.36983|18|8|RALEIGH|27616|RALEIGH 27616|RALEIGH|147116.461058|602468668.316|5597.16187916719 +7|11|402520600.739|128456.89917|23|35|RALEIGH|27612|RALEIGH 27612|RALEIGH|128260.956758|402143653.823|3735.99083479836 +8|12|1319493933.22|252236.30916|24|9|WENDELL|27591|WENDELL 27591|WENDELL|252265.618847|1319493242|12258.5299612302 +9|13|313832905.094|80405.41507|25|19|RALEIGH|27609|RALEIGH 27609|RALEIGH|80405.413149|313832904.304|2915.61008490605 +10|14|632112227.725|154800.00031|28|15|RALEIGH|27604|RALEIGH 27604|RALEIGH|154801.611532|632113047.308|5872.54890089757 +11|15|873704032.742|198415.75507|29|22|KNIGHTDALE|27545|KNIGHTDALE 27545|KNIGHTDALE|207888.12556|854234759.151|7936.13127502539 +12|17|86718740.3594|47692.08248|34|1|RALEIGH|27608|RALEIGH 27608|RALEIGH|47692.081615|86718740.3587|805.649460196298 +13|19|1174353723.71|250639.52409|36|23|RALEIGH|27610|RALEIGH 27610|RALEIGH|260100.365867|1193825267.82|11091.0429399 +14|21|25495827.4688|25606.12087|38|2|RALEIGH|27605|RALEIGH 27605|RALEIGH|25606.118579|25495829.7998|236.864957031583 +15|23|48955772.0156|33100.96362|41|21|RALEIGH|27601|RALEIGH 27601|RALEIGH|33100.961138|48955771.7285|454.815936979609 +16|24|672983954.444|137789.66922|42|18|APEX|27502|APEX 27502|APEX|138402.016283|671745658.098|6240.75717514489 +17|25|1096882081.34|195776.53228|43|24|GARNER|27529|GARNER 27529|GARNER|195766.214382|1096940045.19|10190.9096697667 +18|26|785094011.315|125961.78982|45|4|NEW HILL|27562|NEW HILL 27562|NEW HILL|125964.20281|785117168.913|7293.96582281196 +19|27|74573603.2444|53026.74139|46|76|CLAYTON|27520|CLAYTON 27520|CLAYTON|53026.741222|74573603.668|692.840075781924 +20|29|14013604.9607|20227.39179|50|146|FUQUAY VARINA|27526|FUQUAY VARINA 27526|FUQUAY VARINA|20236.211152|14013892.9812|130.183906990786 +21|30|10825001.4179|18741.09609|51|5|WILLOW SPRING|27592|WILLOW SPRING 27592|WILLOW SPRING|18774.411343|10826786.022|100.594093362751 +22|32|595065.85534|3225.47552|53|147|ANGIER|27501|ANGIER 27501|ANGIER|3221.281589|594306.673565|5.52131175184301 +23|33|880659423.548|230219.75758|44|11|APEX|27539|APEX 27539|APEX|10758.608766|3709374.42305|34.4611971887922 +24|36|607850854.951|135414.36225|6|149|RALEIGH|27613|RALEIGH 27613|RALEIGH|135135.145707|610078059.502|5667.91258118316 +25|39|118820937.008|55979.83097|9|3|ROLESVILLE|27571|ROLESVILLE 27571|ROLESVILLE|60467.130446|128973370.856|1198.19931636245 +26|40|821009204.045|192414.44366|5|12|RALEIGH|27614|RALEIGH 27614|RALEIGH|193326.052701|821170463.631|7628.95617037341 +27|45|246107221.69|98230.55446|14|28|RALEIGH|27617|RALEIGH 27617|RALEIGH|96973.596277|242589284.931|2253.81817443235 +28|54|1380544316.71|223529.01406|13|14|ZEBULON|27597|ZEBULON 27597|ZEBULON|229111.795818|1389077516.66|12905.0077061186 +29|114|595719341.254|135382.61154|40|10|CARY|27518|CARY 27518|CARY|118402.346061|275997437.908|2564.07806207665 +30|212|352353219.773|137980.26455|35|18|APEX|27523|APEX 27523|APEX|126164.348014|325402958.569|3023.13341303491 +31|219|13347044.5484|17858.88115|52|147|ANGIER|27501|ANGIER 27501|ANGIER|20517.250079|16785459.3838|155.938983598546 +32|222|670507534.879|180573.69876|49|5|WILLOW SPRING|27592|WILLOW SPRING 27592|WILLOW SPRING|183229.723255|667072962.625|6197.33763122943 +33|231|897980333.539|201783.43174|47|6|HOLLY SPRINGS|27540|HOLLY SPRINGS 27540|HOLLY SPRINGS|232065.063395|914275342.706|8493.88834301634 +34|236|880659423.548|230219.75758|44|11|APEX|27539|APEX 27539|APEX|251643.611051|892646046.022|8292.96937628262 +35|244|595719341.254|135382.61154|40|10|CARY|27511|CARY 27511|CARY|88289.696983|325536306.021|3024.34350839371 +36|260|490635823.637|134946.66576|27|18|CARY|27519|CARY 27519|CARY|129180.587307|564062896.506|5240.38535324116 +37|275|2825789004.85|465259.10126|3|13|WAKE FOREST|27587|WAKE FOREST 27587|WAKE FOREST|477264.995577|2806740621.72|26075.6049760801 +38|276|504275401.693|157917.82636|30|18|CARY|27513|CARY 27513|CARY|164487.956602|509387886.317|4732.35211121798 +39|282|679964927.93|203429.0581|22|34|RALEIGH|27607|RALEIGH 27607|RALEIGH|182366.287225|552333204.751|5131.37138909183 +40|286|1285870010.66|282815.79339|37|66|RALEIGH|27603|RALEIGH 27603|RALEIGH|285693.495599|1408742751.36|13087.5884223387 +41|288|526570086.386|173734.20912|19|33|MORRISVILLE|27560|MORRISVILLE 27560|MORRISVILLE|169015.912917|643660203.58|5979.8016861835 +42|298|829874917.625|230773.26059|39|2|RALEIGH|27606|RALEIGH 27606|RALEIGH|212707.32257|679989401.948|6316.93565274211 +43|301|1073274000.75|252721.8937|48|7|FUQUAY VARINA|27526|FUQUAY VARINA 27526|FUQUAY VARINA|270514.968365|1061355345.52|9860.60875818323 +44|196|44695436.7135|43678.90844|26|150|DURHAM|27713|DURHAM 27713|DURHAM|19049.668725|7833481.75676|72.7592902311112 diff --git a/scripts/v.report/testsuite/test_v_report.sh b/scripts/v.report/testsuite/test_v_report.sh new file mode 100644 index 00000000000..1624cec88bf --- /dev/null +++ b/scripts/v.report/testsuite/test_v_report.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e +set -x + +v.report zipcodes_wake option=area units=hectares > data/test_1_report.txt + +cd data + +for i in `ls *.txt` ; do + diff $i "`basename $i .txt`.ref" >> out.diff +done + +CHAR_NUM=`cat out.diff | wc -c` + +# Return as exit status 0 in case no diffs are found +exit $CHAR_NUM From ad1319ab60f265a4e0f73fbe245b7bdfeb25c06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 27 Jan 2024 11:51:15 -0500 Subject: [PATCH 142/158] CI: Split Ubuntu tests into jobs to reduce each job's execution time * CI(ubuntu): Print installed earlier after build as a smoke test * CI(ubuntu): Allow running workflow on any PR branch Useful when testing in forks in a test PR not targeting our own main branch * CI(tests): Add extra arguments to gunittest call in test_thorough.sh * CI(ubuntu): Split tests into multiple jobs --- .github/workflows/ubuntu.yml | 39 +++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index ce0831608c8..c24bc16798b 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -43,7 +43,6 @@ jobs: # newlines with spaces, and strip newline at end. # See https://yaml-multiline.info/ - temporal - - scripts - >- db display doc docker general gui imagery lib misc ps python raster raster3d scripts @@ -64,6 +63,44 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - name: Invert inclusion list to an exclusion list + id: get-exclude + run: | + array=(db display doc docker general gui \ + imagery lib misc ps python raster raster3d scripts \ + temporal testsuite utils vector visualization) + echo "Complete set of folders that can be included:" + echo "${array[@]}" + delete=( ${{ env.DELETE_ARRAY }} ) + echo "Included folders to remove from the complete set:" + echo "${delete[@]}" + for target in "${delete[@]}"; do + for i in "${!array[@]}"; do + if [[ ${array[i]} = $target ]]; then + unset 'array[i]' + fi + done + done + unset new_array + for i in "${!array[@]}"; do + new_array+=( "${array[i]}" ) + done + echo "Excluded folders:" + echo "${new_array[@]}" + printf -v extra_exclude './%s/* ' "${new_array[@]}" + echo "Exclusion string to add to gunittest config" + echo "${extra_exclude}" + echo "extra-exclude=${extra_exclude}" >> "${GITHUB_OUTPUT}" + env: + DELETE_ARRAY: ${{ matrix.extra-include }} + + - name: Add extra exclusions to a gunittest config file + run: | + sed 's:exclude =:exclude = ${{ + steps.get-exclude.outputs.extra-exclude + }}:g' .gunittest.cfg > .gunittest.extra.cfg + cat .gunittest.extra.cfg + - name: Invert inclusion list to an exclusion list id: get-exclude run: | From 2d011919f50232cce3142f58152e0247a27d4b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 27 Jan 2024 13:44:08 -0500 Subject: [PATCH 143/158] Update ubuntu.yml --- .github/workflows/ubuntu.yml | 38 ------------------------------------ 1 file changed, 38 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index c24bc16798b..d056be08a1b 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -63,44 +63,6 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - name: Invert inclusion list to an exclusion list - id: get-exclude - run: | - array=(db display doc docker general gui \ - imagery lib misc ps python raster raster3d scripts \ - temporal testsuite utils vector visualization) - echo "Complete set of folders that can be included:" - echo "${array[@]}" - delete=( ${{ env.DELETE_ARRAY }} ) - echo "Included folders to remove from the complete set:" - echo "${delete[@]}" - for target in "${delete[@]}"; do - for i in "${!array[@]}"; do - if [[ ${array[i]} = $target ]]; then - unset 'array[i]' - fi - done - done - unset new_array - for i in "${!array[@]}"; do - new_array+=( "${array[i]}" ) - done - echo "Excluded folders:" - echo "${new_array[@]}" - printf -v extra_exclude './%s/* ' "${new_array[@]}" - echo "Exclusion string to add to gunittest config" - echo "${extra_exclude}" - echo "extra-exclude=${extra_exclude}" >> "${GITHUB_OUTPUT}" - env: - DELETE_ARRAY: ${{ matrix.extra-include }} - - - name: Add extra exclusions to a gunittest config file - run: | - sed 's:exclude =:exclude = ${{ - steps.get-exclude.outputs.extra-exclude - }}:g' .gunittest.cfg > .gunittest.extra.cfg - cat .gunittest.extra.cfg - - name: Invert inclusion list to an exclusion list id: get-exclude run: | From ca977887990ee573e945a1fa573b43e7bd070304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 31 Jan 2024 18:54:28 -0500 Subject: [PATCH 144/158] CI: Wait for code coverage uploads to be finished before posting notifications --- codecov.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/codecov.yml b/codecov.yml index 47236c7b3d4..a4a7a708277 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,3 +1,9 @@ +codecov: + notify: + # do not notify until at least 7 builds have been uploaded from the CI pipeline + # Change when more or less uploads are made, to not receive a GitHub + # comment notification too early after only pytest has uploaded coverage + after_n_builds: 7 coverage: status: project: @@ -7,6 +13,7 @@ coverage: patch: default: informational: true + component_management: # default_rules: # default rules that will be inherited by all components # statuses: @@ -106,8 +113,6 @@ component_management: name: python library paths: - python/grass/** -# comment: -# require_changes: true # When modifying this file, please validate using # curl -X POST --data-binary @codecov.yml https://codecov.io/validate From 4ef0a12c58684f90f90abbf9aa3a67dfe8e6b24f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 11:39:32 -0500 Subject: [PATCH 145/158] Update codecov/codecov-action action to v4 --- .github/workflows/pytest.yml | 2 +- .github/workflows/ubuntu.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index ff43d6604c9..96e6c30376e 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -89,7 +89,7 @@ jobs: INITIAL_GISBASE: $HOME/install/grass84 - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: verbose: true gcov: true diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index d056be08a1b..ace0346367e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -180,7 +180,7 @@ jobs: retention-days: 3 - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: verbose: true gcov: true From e75191303e8c47957b63fbe904216940318c67ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 11:42:23 -0500 Subject: [PATCH 146/158] Update codecov.yml --- codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index a4a7a708277..a166c5156e4 100644 --- a/codecov.yml +++ b/codecov.yml @@ -3,7 +3,7 @@ codecov: # do not notify until at least 7 builds have been uploaded from the CI pipeline # Change when more or less uploads are made, to not receive a GitHub # comment notification too early after only pytest has uploaded coverage - after_n_builds: 7 + after_n_builds: 5 coverage: status: project: From 2e2302f826cb28343c007fd2364801d228c5be84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:54:15 +0000 Subject: [PATCH 147/158] CI: Use hyphen-delimited inclusion tag for filenames --- .github/workflows/ubuntu.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index ace0346367e..a2919787059 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -91,6 +91,12 @@ jobs: echo "Exclusion string to add to gunittest config" echo "${extra_exclude}" echo "extra-exclude=${extra_exclude}" >> "${GITHUB_OUTPUT}" + echo "Inclusion string for tags" + printf -v extra_include_tag ' %s' "${delete[@]}" + extra_include_tag="${extra_include_tag:1}" # trim extra first space + extra_include_tag=${extra_include_tag// /-} # replace spaces by hyphens + echo "${extra_include_tag}" + echo "extra-include-tag=${extra_include_tag}" >> "${GITHUB_OUTPUT}" env: DELETE_ARRAY: ${{ matrix.extra-include }} @@ -168,14 +174,14 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v4 with: - name: testreport-${{ matrix.os }}-${{ matrix.config }}-${{ matrix.extra-include }} + name: testreport-${{ matrix.os }}-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag }} path: testreport retention-days: 3 - name: Make python-only code coverage test report available if: ${{ always() }} uses: actions/upload-artifact@v4 with: - name: python-codecoverage-report-${{ matrix.os }}-${{ matrix.config }}-${{ matrix.extra-include }} + name: python-codecoverage-report-${{ matrix.os }}-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag }} path: coverage_html_report retention-days: 3 From 8a544cec6687c3d26b8976a1a4de10e1017f4e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:55:48 +0000 Subject: [PATCH 148/158] CI: Fix shellcheck issues in inclusion list bash script --- .github/workflows/ubuntu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index a2919787059..6e35b900a2e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -76,14 +76,14 @@ jobs: echo "${delete[@]}" for target in "${delete[@]}"; do for i in "${!array[@]}"; do - if [[ ${array[i]} = $target ]]; then + if [[ ${array[i]} = "$target" ]]; then unset 'array[i]' fi done done unset new_array for i in "${!array[@]}"; do - new_array+=( "${array[i]}" ) + new_array+=( "${array[i]}" ) done echo "Excluded folders:" echo "${new_array[@]}" From 1fee1a1d21ba22a804daf3dcb66f7956f6fdf683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:56:27 +0000 Subject: [PATCH 149/158] CI: Truncate flag name if too long --- .github/workflows/ubuntu.yml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 6e35b900a2e..c6e2199d769 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -97,6 +97,20 @@ jobs: extra_include_tag=${extra_include_tag// /-} # replace spaces by hyphens echo "${extra_include_tag}" echo "extra-include-tag=${extra_include_tag}" >> "${GITHUB_OUTPUT}" + echo "Truncated string for codecov upload" + max_flag_len=45 + max_flag_prefix_len=33 # gunittest-ubuntu-22.04_without_x- + max_flag_suffix_len=$((max_flag_len - max_flag_prefix_len)) + extra_include_tag_len=${#extra_include_tag} # string's length + extra_include_tag_len_len=${#extra_include_tag_len} # length of string's length + if [[ "${extra_include_tag_len}" -gt "${max_flag_suffix_len}" ]]; then + # Extra include too long + extra_include_tag_trunc="${extra_include_tag:0:$max_flag_suffix_len-1-$extra_include_tag_len_len}.${extra_include_tag_len}" + else + extra_include_tag_trunc="${extra_include_tag}" + fi + echo "${extra_include_tag_trunc}" + echo "extra-include-tag-trunc=${extra_include_tag_trunc}" >> "${GITHUB_OUTPUT}" env: DELETE_ARRAY: ${{ matrix.extra-include }} @@ -189,11 +203,10 @@ jobs: uses: codecov/codecov-action@v4 with: verbose: true - gcov: true - flags: gunittest,gunittest-${{ matrix.config }},gunittest-${{ matrix.config }}-${{ matrix.extra-include }} - name: gunittest-${{ matrix.config }}-${{ matrix.extra-include }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + # gcov: true + flags: gunittest,gunittest-${{ matrix.config }},gunittest-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag-trunc }} + name: gunittest-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag }} + token: ${{ secrets.CODECOV_TOKEN }} build-and-test-success: name: Build & Test Result From dc1b68ded7648f0923d4f486a5eb4eb497e00c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:58:08 +0000 Subject: [PATCH 150/158] CI: Wait for 7 code coverage uploads before notifying --- codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index a166c5156e4..a4a7a708277 100644 --- a/codecov.yml +++ b/codecov.yml @@ -3,7 +3,7 @@ codecov: # do not notify until at least 7 builds have been uploaded from the CI pipeline # Change when more or less uploads are made, to not receive a GitHub # comment notification too early after only pytest has uploaded coverage - after_n_builds: 5 + after_n_builds: 7 coverage: status: project: From fdd44d8bfa8bf9186868ab3885a58c2bda1ca819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 19:09:58 +0000 Subject: [PATCH 151/158] CI: Install python coverage through pip for a more recent version --- .github/workflows/ubuntu.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index c6e2199d769..8af51789c77 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -124,9 +124,11 @@ jobs: - name: Get dependencies run: | sudo apt-get update -y - sudo apt-get install -y wget git gawk findutils python3-coverage + sudo apt-get install -y wget git gawk findutils xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \ sudo apt-get install -y --no-install-recommends --no-install-suggests + - name: Install python coverage tool + run: pip install coverage - name: Create installation directory run: | From ff9ec397b9489c9762ecf27baf7d7555552ada3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 19:10:35 +0000 Subject: [PATCH 152/158] CI: Clean up codecov.yml file --- codecov.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/codecov.yml b/codecov.yml index a4a7a708277..0146fc8fc11 100644 --- a/codecov.yml +++ b/codecov.yml @@ -15,12 +15,6 @@ coverage: informational: true component_management: - # default_rules: # default rules that will be inherited by all components - # statuses: - # - type: project # in this case every component that doens't have a status defined will have a project type one - # target: auto - # branches: - # - "!main" individual_components: - component_id: modules_database # this is an identifier that should not be changed name: db # this is a display name, and can be changed freely From cd704a42132e590c304298ce0c450ae4daa3f6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 19:19:20 +0000 Subject: [PATCH 153/158] CI: Install python coverage through pip for a more recent version --- .github/workflows/ubuntu.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 8af51789c77..21601663075 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -180,12 +180,12 @@ jobs: - name: Run tests run: INITIAL_PWD="${PWD}" .github/workflows/test_thorough.sh --config .gunittest.extra.cfg env: - PYTHON: python3-coverage run --branch --parallel-mode --concurrency=multiprocessing,thread + PYTHON: coverage run --branch --parallel-mode --concurrency=multiprocessing,thread INITIAL_GISBASE: $HOME/install/grass84 - - run: python3-coverage combine + - run: coverage combine - name: Show python coverage report summary - run: python3-coverage report - - run: python3-coverage html + run: coverage report + - run: coverage html - name: Make HTML test report available if: ${{ always() }} uses: actions/upload-artifact@v4 From c6d275bbb65f490e29b80f91d54d3a9da524b2e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 19:20:32 +0000 Subject: [PATCH 154/158] CI: Changes for codecov-action@v4 --- .github/workflows/pytest.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 96e6c30376e..8ac2628d571 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -92,11 +92,10 @@ jobs: uses: codecov/codecov-action@v4 with: verbose: true - gcov: true + # gcov: true flags: pytest-python-${{ matrix.python-version }} name: pytest-python-${{ matrix.python-version }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + token: ${{ secrets.CODECOV_TOKEN }} pytest-success: name: pytest Result From 9b5879795c7a6137c058c6ad0c5a9cc2773953c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 3 Feb 2024 20:07:47 +0000 Subject: [PATCH 155/158] CI: Truncate codecov upload name if too long --- .github/workflows/ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 21601663075..23895cd6116 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -207,7 +207,7 @@ jobs: verbose: true # gcov: true flags: gunittest,gunittest-${{ matrix.config }},gunittest-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag-trunc }} - name: gunittest-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag }} + name: gunittest-${{ matrix.config }}-${{ steps.get-exclude.outputs.extra-include-tag-trunc }} token: ${{ secrets.CODECOV_TOKEN }} build-and-test-success: From a3005c3ccde3fc8ad171ace6dca208cd025d96d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Wed, 6 Mar 2024 03:35:04 +0000 Subject: [PATCH 156/158] CI(clang-format): use workflow from pr --- .github/workflows/clang-format-check.yml | 90 +++++++++++++++++------- 1 file changed, 66 insertions(+), 24 deletions(-) diff --git a/.github/workflows/clang-format-check.yml b/.github/workflows/clang-format-check.yml index fb7409876cf..6d896fb1b69 100644 --- a/.github/workflows/clang-format-check.yml +++ b/.github/workflows/clang-format-check.yml @@ -1,25 +1,67 @@ --- -name: ClangFormat Check -on: - push: - branches: - - main - - releasebranch_* - pull_request: - branches: - - main - - releasebranch_* -concurrency: - group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} - cancel-in-progress: true -jobs: - formatting-check: - name: Formatting Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - name: Run clang-format style check for C/C++/Protobuf programs. - uses: jidicula/clang-format-action@v4.11.0 - with: - clang-format-version: '15' - check-path: . + name: ClangFormat Check + on: + push: + branches: + - main + - releasebranch_* + pull_request: + branches: + - main + - releasebranch_* + - "*" + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref_protected != true }} + # permissions: {} + permissions: write-all + jobs: + formatting-check: + name: Formatting Check + runs-on: ubuntu-latest + # permissions: + # pull-requests: write + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: DoozyX/clang-format-lint-action@11b773b1598aa4ae3b32f023701bca5201c3817d # v0.17 + with: + source: "." + clangFormatVersion: 15 + inplace: True + - name: Verify Changed files + uses: tj-actions/verify-changed-files@d774a4c7ebe335445d79c7b44138f56a76058ba0 # v19.0.0 + id: verify-changed-files + - run: echo '${{toJson(steps.verify-changed-files.outputs)}}' + - name: List all changed files tracked and untracked files + run: | + echo "Changed files: ${{ steps.verify-changed-files.outputs.changed_files }}" + - name: Add job summary without changed files + if: ${{ steps.verify-changed-files.outputs.files_changed == 'false' }} + run: | + { + echo "### Changed files:" + echo "No files were changed by clang-format" + } >> "$GITHUB_STEP_SUMMARY" + - name: Add job summary with changed files + if: ${{ steps.verify-changed-files.outputs.files_changed == 'true' }} + run: | + { + echo '### Changed files:' + echo '```' + echo '${{ steps.verify-changed-files.outputs.changed_files }}' + echo '```' + } >> "$GITHUB_STEP_SUMMARY" + - uses: parkerbxyz/suggest-changes@f5b10bcbfe35840153c0e823095d260d5abad1f9 # v1.0.0 + with: + comment: | + Please commit the suggested changes from clang-format. + + Suggestions can only be added to lines near lines changed in this PR. + - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + if: always() + with: + name: my-artifact + path: | + .clang-format + ${{ steps.verify-changed-files.outputs.changed_files }} + \ No newline at end of file From 48cb58df8d0a49eb28d600b50cd19db33eca83e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 25 Mar 2024 13:01:11 -0400 Subject: [PATCH 157/158] Delete renovate.json --- renovate.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 renovate.json diff --git a/renovate.json b/renovate.json deleted file mode 100644 index fb46027c808..00000000000 --- a/renovate.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base", - ":semanticCommitTypeAll(CI)" - ] -} From b0c01ba9bd5959b8adbc7cb5afcd1e02eb6d069b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 17:02:07 +0000 Subject: [PATCH 158/158] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000000..5db72dd6a94 --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +}