From 024afdf29f9b029a59086f5dc8ac72c5a67e00a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:07:53 -0400 Subject: [PATCH 01/60] CI(macOS): Add Codecov upload step to macOS workflow --- .github/workflows/macos.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e9e693e57c3..cb5b40518b0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -116,6 +116,14 @@ jobs: pytest \ @.github/workflows/pytest_args_gunittest.txt + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 + with: + verbose: true + flags: pytest,pytest-macos-14 + name: pytest-macos-14 + token: ${{ secrets.CODECOV_TOKEN }} + - name: Cache GRASS Sample Dataset id: cached-data uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 From d80d99709fad934560818aa7554dbf2a141fd9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:16:17 -0400 Subject: [PATCH 02/60] CI(macOS): Add pytest-cov to macOS workflow configuration --- .github/workflows/macos.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index cb5b40518b0..9a6b59c4afa 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -57,6 +57,7 @@ jobs: test_dependencies: | ipython pytest + pytest-cov pytest-github-actions-annotate-failures pytest-timeout pytest-xdist @@ -104,8 +105,11 @@ jobs: run: | export PYTHONPATH=$(grass --config python_path):$PYTHONPATH export LD_LIBRARY_PATH=$(grass --config path)/lib:$LD_LIBRARY_PATH + export INITIAL_GISBASE="$(grass --config path)" + export INITIAL_PWD="${PWD}" pytest \ @.github/workflows/pytest_args_ci.txt \ + @.github/workflows/pytest_args_cov.txt \ @.github/workflows/pytest_args_not_parallel.txt \ -k 'not testsuite' - name: Run pytest with a single worker (for gunittest-based tests) From 93f6ae68406374b8cb8900885e0bfb1d96fede84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:36:24 -0400 Subject: [PATCH 03/60] CI(macOS): Add script to fix coverage data paths --- .github/workflows/macos.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 9a6b59c4afa..98970763144 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -119,7 +119,15 @@ jobs: export LD_LIBRARY_PATH=$(grass --config path)/lib:$LD_LIBRARY_PATH pytest \ @.github/workflows/pytest_args_gunittest.txt - + - name: Fix non-standard installed script paths in coverage data + run: | + export PYTHONPATH=$(grass --config python_path):$PYTHONPATH + export LD_LIBRARY_PATH=$(grass --config path)/lib:$LD_LIBRARY_PATH + export INITIAL_GISBASE="$(grass --config path)" + export INITIAL_PWD="${PWD}" + python utils/coverage_mapper.py + coverage combine + coverage html - name: Upload coverage reports to Codecov uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 with: From 8269d65a5acdc9d341c0f3bb51b181f5ee0304e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:37:15 -0400 Subject: [PATCH 04/60] DEBUG: show directory info --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 98970763144..67d983d3b71 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -128,6 +128,7 @@ jobs: python utils/coverage_mapper.py coverage combine coverage html + - run: ls -la - name: Upload coverage reports to Codecov uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 with: From 55505e14388a7ec79f7ace90f13e315b4439433f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:50:33 -0400 Subject: [PATCH 05/60] install coverage --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 67d983d3b71..bdc4acb2ec3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -57,6 +57,7 @@ jobs: test_dependencies: | ipython pytest + coverage pytest-cov pytest-github-actions-annotate-failures pytest-timeout From 21979a7af488c04a566b8e72337a95067f6a7faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:50:57 -0400 Subject: [PATCH 06/60] remove trailing space --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index bdc4acb2ec3..8d40327d90c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -129,7 +129,7 @@ jobs: python utils/coverage_mapper.py coverage combine coverage html - - run: ls -la + - run: ls -la - name: Upload coverage reports to Codecov uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 with: From c80a32ade364ebc3bda03e813338ea7b2152a768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:04:18 -0400 Subject: [PATCH 07/60] CI(macOS): Use micromamba-shell for coverage mapping --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8d40327d90c..c5ee5dc0cb4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -121,6 +121,7 @@ jobs: pytest \ @.github/workflows/pytest_args_gunittest.txt - name: Fix non-standard installed script paths in coverage data + shell: micromamba-shell {0} run: | export PYTHONPATH=$(grass --config python_path):$PYTHONPATH export LD_LIBRARY_PATH=$(grass --config path)/lib:$LD_LIBRARY_PATH From 1737b0c0190d966b171949e101602fff70acc931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:19:44 -0400 Subject: [PATCH 08/60] Add artifact upload step for coverage report --- .github/workflows/macos.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c5ee5dc0cb4..04c4c0db36c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -131,6 +131,14 @@ jobs: coverage combine coverage html - run: ls -la + - name: Make python-only code coverage test report available + if: ${{ !cancelled() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: >- + python-codecoverage-report-${{ 'macos-14' }} + path: coverage_html_report + retention-days: 1 - name: Upload coverage reports to Codecov uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 with: From d269f39681626036100d8fa46cc58bb2d243b3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:44:54 -0400 Subject: [PATCH 09/60] CI(macOS): Create json coverage file to upload --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 04c4c0db36c..9f2254535f9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -130,6 +130,7 @@ jobs: python utils/coverage_mapper.py coverage combine coverage html + coverage json - run: ls -la - name: Make python-only code coverage test report available if: ${{ !cancelled() }} From 451a00f657eb4e5b8d4ec85cfae1b5b00383dd44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:55:12 -0400 Subject: [PATCH 10/60] Remove redundant flag from codecov upload --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 9f2254535f9..cdec9c09281 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -144,7 +144,7 @@ jobs: uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 with: verbose: true - flags: pytest,pytest-macos-14 + flags: pytest-macos-14 name: pytest-macos-14 token: ${{ secrets.CODECOV_TOKEN }} From 366ea9c7b75caaf989c1d486d1d94b4d0f2787b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 19:14:32 -0400 Subject: [PATCH 11/60] CI(macOS): Update compiler flags for profiling and coverage --- .github/workflows/macos_install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 4f340c73f9e..9e712031b98 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -59,9 +59,9 @@ CONFIGURE_FLAGS="\ --without-x \ " -export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla" -export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" -export CPPFLAGS="-isystem${CONDA_PREFIX}/include" +export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla -fprofile-instr-generate -fcoverage-mapping" +export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic -fprofile-instr-generate -fcoverage-mapping" +export CPPFLAGS="-isystem${CONDA_PREFIX}/include -fprofile-instr-generate -fcoverage-mapping" ./configure $CONFIGURE_FLAGS From d18e62e9ff8e7353d99a1964f8777dbce5ae289f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 19:30:12 -0400 Subject: [PATCH 12/60] Remove redundant flags from CPPFLAGS in macOS script --- .github/workflows/macos_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 9e712031b98..7c817d07a64 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -61,7 +61,7 @@ CONFIGURE_FLAGS="\ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla -fprofile-instr-generate -fcoverage-mapping" export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic -fprofile-instr-generate -fcoverage-mapping" -export CPPFLAGS="-isystem${CONDA_PREFIX}/include -fprofile-instr-generate -fcoverage-mapping" +export CPPFLAGS="-isystem${CONDA_PREFIX}/include" ./configure $CONFIGURE_FLAGS From 18989fa4b7361fe614d779cba0a5f3162f168085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 19:44:02 -0400 Subject: [PATCH 13/60] Add LDFLAGS for profiling in macOS install script --- .github/workflows/macos_install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 7c817d07a64..99533bc0e77 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -62,11 +62,12 @@ CONFIGURE_FLAGS="\ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla -fprofile-instr-generate -fcoverage-mapping" export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic -fprofile-instr-generate -fcoverage-mapping" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" +export LDFLAGS="-fprofile-instr-generate" ./configure $CONFIGURE_FLAGS EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ - CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" + CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LDFLAGS="$LDFLAGS" make install From 3af40e7b73176ba0e4444fcf3b5bcc9b8ad45624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 19:54:19 -0400 Subject: [PATCH 14/60] Update macOS install script with coverage flags --- .github/workflows/macos_install.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 99533bc0e77..cbb867dbd1e 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -59,13 +59,15 @@ CONFIGURE_FLAGS="\ --without-x \ " -export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla -fprofile-instr-generate -fcoverage-mapping" -export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic -fprofile-instr-generate -fcoverage-mapping" +export EXTRA_COV_FLAGS="-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation" +export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla" +export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic $EXTRA_COV_FLAGS" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export LDFLAGS="-fprofile-instr-generate" ./configure $CONFIGURE_FLAGS +export LDFLAGS="-fprofile-instr-generate -v" + EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LDFLAGS="$LDFLAGS" From 9a6002990590f3b216ca4f7745acb6d3664b60f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 19:55:12 -0400 Subject: [PATCH 15/60] CI(deps): Update codecov/codecov-action action to v5.4.2 --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index cdec9c09281..394756a832f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -141,7 +141,7 @@ jobs: path: coverage_html_report retention-days: 1 - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0 + uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2 with: verbose: true flags: pytest-macos-14 From d261b8bfa4db63dbe4d27f2199828a28e8241d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 18 Apr 2025 20:09:26 -0400 Subject: [PATCH 16/60] Update CXXFLAGS and LDFLAGS in macos_install.sh --- .github/workflows/macos_install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index cbb867dbd1e..fd5b26590e4 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -61,12 +61,13 @@ CONFIGURE_FLAGS="\ export EXTRA_COV_FLAGS="-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation" export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla" -export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic $EXTRA_COV_FLAGS" +export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" ./configure $CONFIGURE_FLAGS -export LDFLAGS="-fprofile-instr-generate -v" +export LDFLAGS="-v" +export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ From 1cc3288f40a676c9ff2a6cac8847bf4c55c53a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 17:43:29 +0000 Subject: [PATCH 17/60] CI(macOS): Add `-fprofile-instr-generate` to LDFLAGS --- .github/workflows/macos_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index fd5b26590e4..ba5437d7b10 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -66,7 +66,7 @@ export CPPFLAGS="-isystem${CONDA_PREFIX}/include" ./configure $CONFIGURE_FLAGS -export LDFLAGS="-v" +export LDFLAGS="-v -fprofile-instr-generate" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" EXEMPT="" From cfc9a2225ba9401fd5679a7169910fe1f43beb6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 17:45:33 +0000 Subject: [PATCH 18/60] CI(macOS): Add EXTRA_COV_FLAGS to CFLAGS and CPPFLAGS --- .github/workflows/macos_install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index ba5437d7b10..76a523ddb73 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -67,7 +67,9 @@ export CPPFLAGS="-isystem${CONDA_PREFIX}/include" ./configure $CONFIGURE_FLAGS export LDFLAGS="-v -fprofile-instr-generate" +export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" +export CPPFLAGS="$EXTRA_COV_FLAGS $CPPFLAGS" EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ From bc730097360fe57a26648d59863a94e99585af77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:08:37 +0000 Subject: [PATCH 19/60] CI(macOS): Add `-fcoverage-mapping` to LDFLAGS --- .github/workflows/macos_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 76a523ddb73..8ff9e958528 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -66,7 +66,7 @@ export CPPFLAGS="-isystem${CONDA_PREFIX}/include" ./configure $CONFIGURE_FLAGS -export LDFLAGS="-v -fprofile-instr-generate" +export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" export CPPFLAGS="$EXTRA_COV_FLAGS $CPPFLAGS" From 2619b38f53c6b04158893089ac8ec9932c42a342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:16:28 +0000 Subject: [PATCH 20/60] CI(macOS): Move flags before running configure --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 8ff9e958528..21d5c4c0769 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -64,13 +64,13 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -./configure $CONFIGURE_FLAGS - export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" export CPPFLAGS="$EXTRA_COV_FLAGS $CPPFLAGS" +./configure $CONFIGURE_FLAGS + EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LDFLAGS="$LDFLAGS" From cfa8b086891c09eca042a83fa96cd4b46e767b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:24:14 +0000 Subject: [PATCH 21/60] CI(macOS): Sort coverage test dependency --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 394756a832f..19d2273c3bf 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -55,9 +55,9 @@ jobs: - name: Prepare Conda environment file env: test_dependencies: | + coverage ipython pytest - coverage pytest-cov pytest-github-actions-annotate-failures pytest-timeout From cf909b95c489239a96a3e93241ef8eec1963c7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:24:30 +0000 Subject: [PATCH 22/60] CI(macOS): Add llvmdev conda package --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 19d2273c3bf..f7325f8eb13 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -57,6 +57,7 @@ jobs: test_dependencies: | coverage ipython + llvmdev pytest pytest-cov pytest-github-actions-annotate-failures From bec528738a6eb1b5460c9f02c9806a046939d22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:37:44 +0000 Subject: [PATCH 23/60] CI(macOS): Add other llvm conda packages --- .github/workflows/macos.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f7325f8eb13..459fe64c290 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -55,8 +55,14 @@ jobs: - name: Prepare Conda environment file env: test_dependencies: | + compiler-rt coverage ipython + libllvm20 + lit + llvm + llvm-tools + llvm-tools-20 llvmdev pytest pytest-cov From bc90f0b866d4932d7165b4297af8cf87da808e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:47:19 +0000 Subject: [PATCH 24/60] CI(macOS): Remove some superfluous EXTRA_COV_FLAGS --- .github/workflows/macos_install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 21d5c4c0769..75eafcdecdb 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -59,7 +59,8 @@ CONFIGURE_FLAGS="\ --without-x \ " -export EXTRA_COV_FLAGS="-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation" +# export EXTRA_COV_FLAGS="-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation" +export EXTRA_COV_FLAGS="-fprofile-instr-generate -fcoverage-mapping" export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPRECATION -Wall -Wextra -Wpedantic -Wvla" export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" From b19ab4213844f45c68dabc3970d6535e91c5ffd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 20:14:39 +0000 Subject: [PATCH 25/60] CI(macOS): Remove coverage flags from C pre-processor flags --- .github/workflows/macos_install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 75eafcdecdb..3057bc036d1 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -68,7 +68,6 @@ export CPPFLAGS="-isystem${CONDA_PREFIX}/include" export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" -export CPPFLAGS="$EXTRA_COV_FLAGS $CPPFLAGS" ./configure $CONFIGURE_FLAGS From 407feb4b3e4bb60036cbe9734c308cc13dae4159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 20:41:56 +0000 Subject: [PATCH 26/60] CI(macOS): Replace LDFLAGS with LINK_FLAGS as used in makefile --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 3057bc036d1..38cf576641c 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -65,7 +65,7 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" +export LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" @@ -73,6 +73,6 @@ export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ - CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LDFLAGS="$LDFLAGS" + CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LINK_FLAGS="$LINK_FLAGS" make install From 9868242d06116ee4d0db5d91de1fd51675c39413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 20:49:15 +0000 Subject: [PATCH 27/60] CI(macOS): Set LINK_FLAGS to makefile with MY_LINK_FLAGS --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 38cf576641c..60eb6bb182b 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -65,7 +65,7 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" +export MY_LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" @@ -73,6 +73,6 @@ export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ - CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LINK_FLAGS="$LINK_FLAGS" + CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LINK_FLAGS="$MY_LINK_FLAGS" make install From bc816dc882fb5cea99ea652079c59122e0f7bf87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 20:50:54 +0000 Subject: [PATCH 28/60] CI(macOS): Do not set LINK_FLAGS to makefile, but export LINK_FLAGS --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 60eb6bb182b..67046bffa94 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -65,7 +65,7 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export MY_LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" +export LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" @@ -73,6 +73,6 @@ export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ - CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" LINK_FLAGS="$MY_LINK_FLAGS" + CXXFLAGS="$CXXFLAGS -Werror $EXEMPT" make install From 5f42b0ac06a150c4a7fc1fc7e6d26ff5b040f8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 20:54:00 +0000 Subject: [PATCH 29/60] CI(macOS): Export LDFLAGS before running configure --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 67046bffa94..52d44f483a8 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -65,11 +65,11 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export LINK_FLAGS="-v -fprofile-instr-generate -fcoverage-mapping" +export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" -./configure $CONFIGURE_FLAGS +./configure $CONFIGURE_FLAGS EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ From 4d9bc7a6263bdb83486ef4b16fff3cc5b7347733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:00:17 +0000 Subject: [PATCH 30/60] CI(macOS): Set LDFLAGS only for configure --- .github/workflows/macos_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 52d44f483a8..63980df4cc3 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -65,11 +65,11 @@ export CFLAGS="-O2 -pipe -ffp-contract=off -arch ${CONDA_ARCH} -DGL_SILENCE_DEPR export CXXFLAGS="-O2 -pipe -ffp-contract=off -stdlib=libc++ -arch ${CONDA_ARCH} -Wall -Wextra -Wpedantic" export CPPFLAGS="-isystem${CONDA_PREFIX}/include" -export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" +# export LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" -./configure $CONFIGURE_FLAGS +LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping $LDFLAGS" ./configure $CONFIGURE_FLAGS EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ From ef5094fbd685fbddb2852c0caa2a6904a341e081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:09:49 +0000 Subject: [PATCH 31/60] CI(macOS): Remove trailing space --- .github/workflows/macos_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos_install.sh b/.github/workflows/macos_install.sh index 63980df4cc3..bcc95072368 100755 --- a/.github/workflows/macos_install.sh +++ b/.github/workflows/macos_install.sh @@ -69,7 +69,7 @@ export CPPFLAGS="-isystem${CONDA_PREFIX}/include" export CFLAGS="$EXTRA_COV_FLAGS $CFLAGS" export CXXFLAGS="$EXTRA_COV_FLAGS $CXXFLAGS" -LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping $LDFLAGS" ./configure $CONFIGURE_FLAGS +LDFLAGS="-v -fprofile-instr-generate -fcoverage-mapping $LDFLAGS" ./configure $CONFIGURE_FLAGS EXEMPT="" make -j$(sysctl -n hw.ncpu) CFLAGS="$CFLAGS -Werror $EXEMPT" \ From 9d9da60d4031a89a4043869ea34bb74fc9dc500c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:14:57 +0000 Subject: [PATCH 32/60] CI(macOS): Merge and index raw profile data --- .github/workflows/macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 459fe64c290..8e5d913636f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -138,6 +138,8 @@ jobs: coverage combine coverage html coverage json + - name: Merge and index profile data + run: llvm-profdata merge *.profraw -o merged.profdata - run: ls -la - name: Make python-only code coverage test report available if: ${{ !cancelled() }} From b8915d05fb8d28e0564ddf733a303bf402ddea1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:16:31 +0000 Subject: [PATCH 33/60] CI(macOS): Add `-sparse` flag to llvm-profdata call --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8e5d913636f..9ba727d14ed 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -139,7 +139,7 @@ jobs: coverage html coverage json - name: Merge and index profile data - run: llvm-profdata merge *.profraw -o merged.profdata + run: llvm-profdata merge -sparse *.profraw -o merged.profdata - run: ls -la - name: Make python-only code coverage test report available if: ${{ !cancelled() }} From d4960d97161c9576fbced194f568b58606d99722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:23:45 +0000 Subject: [PATCH 34/60] CI(macOS): Run llvm-profdata in micromamba shell --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 9ba727d14ed..f61cbb2f6e0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -139,6 +139,7 @@ jobs: coverage html coverage json - name: Merge and index profile data + shell: micromamba-shell {0} run: llvm-profdata merge -sparse *.profraw -o merged.profdata - run: ls -la - name: Make python-only code coverage test report available From 204a0ac249df135e71b3196647435042d791cdd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:40:31 +0000 Subject: [PATCH 35/60] CI: print grass --config in print_versions.sh --- .github/workflows/print_versions.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/print_versions.sh b/.github/workflows/print_versions.sh index 68b359c1b96..28cbd7d98ef 100755 --- a/.github/workflows/print_versions.sh +++ b/.github/workflows/print_versions.sh @@ -13,3 +13,5 @@ grass --version grass --tmp-project XY --exec g.version -ergb # Detailed Python version info (in one line thanks to echo) grass --tmp-project XY --exec bash -c "echo Python: \$(\$GRASS_PYTHON -c 'import sys; print(sys.version)')" + +grass --config \ No newline at end of file From f2ccab9649be69ea1269509b8cd6050b390c83cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:47:25 +0000 Subject: [PATCH 36/60] CI: Add directory listings --- .github/workflows/macos.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f61cbb2f6e0..934ec430cd1 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -98,7 +98,10 @@ jobs: if: ${{ !cancelled() }} shell: micromamba-shell {0} run: source ./.github/workflows/print_versions.sh - + - run: ls -la bin.*-*-* + - run: ls -la dist.*-*-*/bin + - run: ls -la "$HOME/install" + - run: ls -la "$HOME/install/bin" - name: Run pytest with multiple workers in parallel shell: micromamba-shell {0} run: | @@ -141,7 +144,11 @@ jobs: - name: Merge and index profile data shell: micromamba-shell {0} run: llvm-profdata merge -sparse *.profraw -o merged.profdata + - run: ls -la "$HOME/install" + - run: ls -la "$HOME/install/bin" - run: ls -la + - run: ls -la "$HOME/install" + - run: ls -la "$HOME/install/bin" - name: Make python-only code coverage test report available if: ${{ !cancelled() }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 From 7af7e1ab1afc6385963ec4e9d1a27acb401857a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:48:13 +0000 Subject: [PATCH 37/60] CI: Upload profile data --- .github/workflows/macos.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 934ec430cd1..ea0a52d3b47 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -146,6 +146,14 @@ jobs: run: llvm-profdata merge -sparse *.profraw -o merged.profdata - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" + - name: Make profile data available + if: ${{ !cancelled() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: >- + profile-data-${{ 'macos-14' }} + path: '*.prof*' + retention-days: 1 - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" From 2b846f4dc3035fc562e44378ac95e572aa767e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:48:34 +0000 Subject: [PATCH 38/60] CI(macOS): Create a line-oriented coverage report --- .github/workflows/macos.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index ea0a52d3b47..3fe0e5c2c75 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -154,6 +154,9 @@ jobs: profile-data-${{ 'macos-14' }} path: '*.prof*' retention-days: 1 + - name: Create a line-oriented coverage report + shell: micromamba-shell {0} + run: llvm-cov show $HOME/install/bin/grass -instr-profile=merged.profdata - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" From 2bd8792f2a41cccd0db7c22941f34c5c1011b18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:04:59 +0000 Subject: [PATCH 39/60] CI(macOS): grass is not an object file --- .github/workflows/macos.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3fe0e5c2c75..e9a633a10bc 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -156,7 +156,8 @@ jobs: retention-days: 1 - name: Create a line-oriented coverage report shell: micromamba-shell {0} - run: llvm-cov show $HOME/install/bin/grass -instr-profile=merged.profdata + continue-on-error: true + run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" From a5371d4f8b61daeea2ddfa1f911fa6c054e2ab08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:09:04 +0000 Subject: [PATCH 40/60] CI(macOS): Comment out llvm-cov call --- .github/workflows/macos.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e9a633a10bc..c7315e5c1c6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -154,10 +154,10 @@ jobs: profile-data-${{ 'macos-14' }} path: '*.prof*' retention-days: 1 - - name: Create a line-oriented coverage report - shell: micromamba-shell {0} - continue-on-error: true - run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata + # - name: Create a line-oriented coverage report + # shell: micromamba-shell {0} + # continue-on-error: true + # run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" From 6e2f423aebe03788e3f76c1fc0b8fd81905a4e81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:10:34 +0000 Subject: [PATCH 41/60] CI(macOS): Add find command for object and profile files --- .github/workflows/macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c7315e5c1c6..4554f8572c4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -158,6 +158,8 @@ jobs: # shell: micromamba-shell {0} # continue-on-error: true # run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata + - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) + - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" From b162a5ba7cd6d40fde7d783c3cdc5547cff70da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:10:52 +0000 Subject: [PATCH 42/60] CI(macOS): Add more directory listings --- .github/workflows/macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4554f8572c4..abc6a196add 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -163,6 +163,8 @@ jobs: - run: ls -la - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" + - run: ls -la -R "$HOME/install" + - run: ls -la -R . - name: Make python-only code coverage test report available if: ${{ !cancelled() }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 From b4b3c4cf380728bf62ea9c63124f6626f7fbdfa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:15:54 +0000 Subject: [PATCH 43/60] CI(macOS): Quote upload of profile data pattern --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index abc6a196add..c7a54ee1e55 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -152,7 +152,7 @@ jobs: with: name: >- profile-data-${{ 'macos-14' }} - path: '*.prof*' + path: "*.prof*" retention-days: 1 # - name: Create a line-oriented coverage report # shell: micromamba-shell {0} From df77a95080c14925813f4a18f26297739ea438ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:16:25 +0000 Subject: [PATCH 44/60] CI(macOS): Define LLVM_PROFILE_FILE env var --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c7a54ee1e55..bf4ed1ee58f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,6 +23,7 @@ jobs: runs-on: macos-14 env: PYTHONWARNINGS: always + LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" steps: - name: Info run: | From 4d9544e030e2b9e8092c44bebc02987b4fc5e329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:20:49 +0000 Subject: [PATCH 45/60] CI(macOS): Add find command for profraw and profdata only --- .github/workflows/macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index bf4ed1ee58f..b4b2147bb7b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -160,6 +160,7 @@ jobs: # continue-on-error: true # run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) + - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) - run: ls -la - run: ls -la "$HOME/install" From 671b7c6b2be2af8e11a32539225ee967d5a15af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:30:35 +0000 Subject: [PATCH 46/60] CI(macOS): Define LLVM_PROFILE_FILE env var with absolute path --- .github/workflows/macos.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index b4b2147bb7b..ebde593bfe1 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,7 +23,7 @@ jobs: runs-on: macos-14 env: PYTHONWARNINGS: always - LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" + # LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" steps: - name: Info run: | @@ -82,7 +82,8 @@ jobs: environment-name: grass-env # Persist on the same period (date). cache-environment-key: environment-${{ steps.date.outputs.date }} - + - name: Set profile file name env var + run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV - name: Environment info shell: bash -el {0} run: | From cce55f82c15989cceb7d46c88650cf7048465b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:36:38 +0000 Subject: [PATCH 47/60] CI(macOS): Show merged profile data --- .github/workflows/macos.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index ebde593bfe1..7a469ada9e5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -146,6 +146,10 @@ jobs: - name: Merge and index profile data shell: micromamba-shell {0} run: llvm-profdata merge -sparse *.profraw -o merged.profdata + - name: Show merged profile data + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-profdata show merged.profdata - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" - name: Make profile data available From b93c402845b080521079e1a7d265989cf80c32df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 14:18:00 +0000 Subject: [PATCH 48/60] CI(macOS): Use relative profile file name --- .github/workflows/macos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 7a469ada9e5..184eac83df7 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,7 +23,7 @@ jobs: runs-on: macos-14 env: PYTHONWARNINGS: always - # LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" + LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" steps: - name: Info run: | @@ -82,8 +82,8 @@ jobs: environment-name: grass-env # Persist on the same period (date). cache-environment-key: environment-${{ steps.date.outputs.date }} - - name: Set profile file name env var - run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV + # - name: Set profile file name env var + # run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV - name: Environment info shell: bash -el {0} run: | From 01417f2bb446986aab589a383e47cdb2de4e3834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 14:25:47 +0000 Subject: [PATCH 49/60] CI(macOS): Export coverage report with llvm-cov export --- .github/workflows/macos.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 184eac83df7..15625f7681e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -164,6 +164,10 @@ jobs: # shell: micromamba-shell {0} # continue-on-error: true # run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata + - name: Export coverage report with llvm-cov export + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-cov export -format=text -instr-profile=merged.profdata - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) From 8ed00309cb4f0a1b0a28dafa436984efe47134da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 14:52:20 +0000 Subject: [PATCH 50/60] CI(macOS): Export coverage for a library --- .github/workflows/macos.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 15625f7681e..732c845bad9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -160,14 +160,14 @@ jobs: profile-data-${{ 'macos-14' }} path: "*.prof*" retention-days: 1 - # - name: Create a line-oriented coverage report - # shell: micromamba-shell {0} - # continue-on-error: true - # run: llvm-cov show lib/init/OBJ.*-*/lock.o -instr-profile=merged.profdata + - name: Create a line-oriented coverage report + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib - name: Export coverage report with llvm-cov export shell: micromamba-shell {0} continue-on-error: true - run: llvm-cov export -format=text -instr-profile=merged.profdata + run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) From db3fce06529264d72a454d9359c47e9796380672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:12:34 +0000 Subject: [PATCH 51/60] CI(macOS): Add more patterns to profile data included in artifact upload --- .github/workflows/macos.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 732c845bad9..441528929a3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -158,7 +158,9 @@ jobs: with: name: >- profile-data-${{ 'macos-14' }} - path: "*.prof*" + path: | + *.prof* + *coverage* retention-days: 1 - name: Create a line-oriented coverage report shell: micromamba-shell {0} From 046a99b511ae43005cc46fcdc715dbafdd68a225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:14:48 +0000 Subject: [PATCH 52/60] CI(macOS): Export coverage format to json --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 441528929a3..a9d5bf8fce5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -169,7 +169,7 @@ jobs: - name: Export coverage report with llvm-cov export shell: micromamba-shell {0} continue-on-error: true - run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib + run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib | tee coverage.libgrass_gis.json - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) From 4b5c04db9ab08768ea3b674fdd2c5cd0a44b5b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:15:35 +0000 Subject: [PATCH 53/60] CI(macOS): Show and export coverage for all libs with a glob --- .github/workflows/macos.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a9d5bf8fce5..cf41d7e2936 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -166,10 +166,18 @@ jobs: shell: micromamba-shell {0} continue-on-error: true run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib + - name: Create a line-oriented coverage report + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib - name: Export coverage report with llvm-cov export shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib | tee coverage.libgrass_gis.json + - name: Export coverage report with llvm-cov export + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.json - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) From 342660418c24295c98b4b776e75c413eccf12fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:16:30 +0000 Subject: [PATCH 54/60] CI(macOS): Upload coverage after export --- .github/workflows/macos.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index cf41d7e2936..313f21412dd 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -152,16 +152,6 @@ jobs: run: llvm-profdata show merged.profdata - run: ls -la "$HOME/install" - run: ls -la "$HOME/install/bin" - - name: Make profile data available - if: ${{ !cancelled() }} - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 - with: - name: >- - profile-data-${{ 'macos-14' }} - path: | - *.prof* - *coverage* - retention-days: 1 - name: Create a line-oriented coverage report shell: micromamba-shell {0} continue-on-error: true @@ -178,6 +168,16 @@ jobs: shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.json + - name: Make profile data available + if: ${{ !cancelled() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: >- + profile-data-${{ 'macos-14' }} + path: | + *.prof* + *coverage* + retention-days: 1 - run: /usr/bin/find . -type f \( -name "*.o" -or -name "*.prof*" \) - run: /usr/bin/find . -type f \( -name "*.profraw" -or -name "*.profdata" \) - run: /usr/bin/find $HOME/install -type f \( -name "*.o" -or -name "*.prof*" \) From 0c2cca9f7cd2891733ed2223cfba964fc7a7c5fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:40:38 +0000 Subject: [PATCH 55/60] CI(macOS): Export coverage for all libs with a glob in lcov format --- .github/workflows/macos.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 313f21412dd..943a5daf769 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -161,13 +161,19 @@ jobs: continue-on-error: true run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib - name: Export coverage report with llvm-cov export + if: 'false' shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib | tee coverage.libgrass_gis.json - name: Export coverage report with llvm-cov export + if: 'false' shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.json + - name: Export coverage report with llvm-cov export + shell: micromamba-shell {0} + continue-on-error: true + run: llvm-cov export -format=lcov -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.lcov - name: Make profile data available if: ${{ !cancelled() }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 From 65b5b54f21a1fada6e3003c6627397472cc5d275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:41:57 +0000 Subject: [PATCH 56/60] CI(macOS): yaml formatting fix --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 943a5daf769..c94f8257aea 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -83,7 +83,7 @@ jobs: # Persist on the same period (date). cache-environment-key: environment-${{ steps.date.outputs.date }} # - name: Set profile file name env var - # run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV + # run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV - name: Environment info shell: bash -el {0} run: | From ac232a9a2e2d633f92ddc34e1b8d4104bdc76f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 12:33:44 -0400 Subject: [PATCH 57/60] CI(macOS): Use absolute profraw files --- .github/workflows/macos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c94f8257aea..1c04444d942 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,7 +23,7 @@ jobs: runs-on: macos-14 env: PYTHONWARNINGS: always - LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" + # LLVM_PROFILE_FILE: "grass-prof-%9m.profraw" steps: - name: Info run: | @@ -82,8 +82,8 @@ jobs: environment-name: grass-env # Persist on the same period (date). cache-environment-key: environment-${{ steps.date.outputs.date }} - # - name: Set profile file name env var - # run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV + - name: Set profile file name env var + run: echo "LLVM_PROFILE_FILE=${{ github.workspace }}/grass-prof-%9m.profraw" >> $GITHUB_ENV - name: Environment info shell: bash -el {0} run: | From 6b283389ac306565dfa7a092125cbf35d51cf761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 16:04:52 +0000 Subject: [PATCH 58/60] CI(macOS): yaml formatting fix --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1c04444d942..d67e261e3ea 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -161,12 +161,12 @@ jobs: continue-on-error: true run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib - name: Export coverage report with llvm-cov export - if: 'false' + if: "false" shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib | tee coverage.libgrass_gis.json - name: Export coverage report with llvm-cov export - if: 'false' + if: "false" shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.json From ee4bfb3e60463c125a61e6828d07996e0b0e335e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 16:05:32 +0000 Subject: [PATCH 59/60] CI(macOS): yaml formatting fix --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d67e261e3ea..dd0261ae200 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -161,12 +161,12 @@ jobs: continue-on-error: true run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib - name: Export coverage report with llvm-cov export - if: "false" + if: false shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib | tee coverage.libgrass_gis.json - name: Export coverage report with llvm-cov export - if: "false" + if: false shell: micromamba-shell {0} continue-on-error: true run: llvm-cov export -format=text -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib | tee coverage.libs.json From 5d7796c2f6ceffa04fd10e5e97765bd30dc37b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 21 Apr 2025 16:06:43 +0000 Subject: [PATCH 60/60] CI(macOS): Show coverage with color --- .github/workflows/macos.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dd0261ae200..786ae453370 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -155,11 +155,15 @@ jobs: - name: Create a line-oriented coverage report shell: micromamba-shell {0} continue-on-error: true - run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib + run: | + llvm-cov show -use-color -instr-profile=merged.profdata \ + /Users/runner/install/grass85/lib/libgrass_gis.8.5.dylib - name: Create a line-oriented coverage report shell: micromamba-shell {0} continue-on-error: true - run: llvm-cov show -instr-profile=merged.profdata /Users/runner/install/grass85/lib/*.dylib + run: | + llvm-cov show -use-color -instr-profile=merged.profdata \ + /Users/runner/install/grass85/lib/*.dylib - name: Export coverage report with llvm-cov export if: false shell: micromamba-shell {0}