Skip to content

Commit e35bd83

Browse files
committed
Merge remote-tracking branch 'upstream/main' into rasters-mapvalidator
2 parents 8da5d76 + 0cb98e8 commit e35bd83

File tree

394 files changed

+29142
-21345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

394 files changed

+29142
-21345
lines changed

.github/workflows/additional_checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ jobs:
3636
- name: Set up Python
3737
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
3838
with:
39-
python-version: "3.13"
39+
python-version: "3.14"
4040
- name: Install uv and restore its cache
41-
uses: astral-sh/setup-uv@b75a909f75acd358c2196fb9a5f1299a9a8868a4 # v6.7.0
41+
uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0
4242
with:
4343
# To not have the last commit JSON and release notes files affected on
4444
# releases, if copying the contents displayed in the CI logs.
@@ -67,7 +67,7 @@ jobs:
6767
""
6868
- name: "Cache pre-commit"
6969
# Not used for releases, only for running pre-commit
70-
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 # zizmor: ignore[cache-poisoning]
70+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 # zizmor: ignore[cache-poisoning]
7171
with:
7272
path: ~/.cache/pre-commit
7373
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}

.github/workflows/apt.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ libgdal-dev
88
libgl1-mesa-dev
99
libglu1-mesa-dev
1010
liblapacke-dev
11+
libncurses-dev
1112
libnetcdf-dev
1213
libpdal-dev
1314
libpng-dev
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/usr/bin/env bash
2+
3+
# The make step requires something like:
4+
# export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PREFIX/lib"
5+
# further steps additionally require:
6+
# export PATH="$PATH:$PREFIX/bin"
7+
8+
# fail on non-zero return code from a subprocess
9+
set -e
10+
11+
# print commands
12+
set -x
13+
14+
if [ -z "$1" ]; then
15+
echo "Usage: $0 PREFIX"
16+
exit 1
17+
fi
18+
19+
# Adding -Werror to make's CFLAGS is a workaround for configuring with
20+
# an old version of configure, which issues compiler warnings and
21+
# errors out. This may be removed with upgraded configure.in file.
22+
makecmd="make"
23+
if [[ "$#" -ge 2 ]]; then
24+
ARGS=("$@")
25+
makecmd="make CFLAGS='$CFLAGS ${ARGS[@]:1}' CXXFLAGS='$CXXFLAGS ${ARGS[@]:1}'"
26+
fi
27+
28+
# non-existent variables as an errors
29+
set -u
30+
31+
export INSTALL_PREFIX=$1
32+
33+
./configure \
34+
--enable-largefile \
35+
--prefix="$INSTALL_PREFIX/" \
36+
--with-blas \
37+
--with-bzlib \
38+
--with-cxx \
39+
--with-fftw \
40+
--with-freetype \
41+
--with-freetype-includes="/usr/include/freetype2/" \
42+
--with-geos \
43+
--with-lapack \
44+
--with-libsvm \
45+
--with-netcdf \
46+
--with-openmp \
47+
--with-pdal \
48+
--with-proj-share=/usr/share/proj \
49+
--with-pthread \
50+
--with-readline \
51+
--with-sqlite \
52+
--with-tiff \
53+
--with-zstd
54+
55+
eval $makecmd
56+
make install
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/usr/bin/env bash
2+
3+
# The make step requires something like:
4+
# export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PREFIX/lib"
5+
# further steps additionally require:
6+
# export PATH="$PATH:$PREFIX/bin"
7+
8+
# fail on non-zero return code from a subprocess
9+
set -e
10+
11+
# print commands
12+
set -x
13+
14+
if [ -z "$1" ]; then
15+
echo "Usage: $0 PREFIX"
16+
exit 1
17+
fi
18+
19+
# Adding -Werror to make's CFLAGS is a workaround for configuring with
20+
# an old version of configure, which issues compiler warnings and
21+
# errors out. This may be removed with upgraded configure.in file.
22+
makecmd="make"
23+
if [[ "$#" -eq 2 ]]; then
24+
makecmd="make CFLAGS='$CFLAGS $2' CXXFLAGS='$CXXFLAGS $2'"
25+
fi
26+
27+
# non-existent variables as an errors
28+
set -u
29+
30+
export INSTALL_PREFIX=$1
31+
32+
./configure \
33+
--enable-largefile \
34+
--prefix="$INSTALL_PREFIX/" \
35+
--without-blas \
36+
--without-lapack \
37+
--with-bzlib \
38+
--with-cxx \
39+
--with-fftw \
40+
--with-freetype \
41+
--with-freetype-includes="/usr/include/freetype2/" \
42+
--with-geos \
43+
--with-netcdf \
44+
--with-pdal \
45+
--with-proj-share=/usr/share/proj \
46+
--with-readline \
47+
--with-sqlite \
48+
--with-tiff \
49+
--with-zstd \
50+
--without-openmp \
51+
--without-pthread
52+
53+
eval $makecmd
54+
make install

.github/workflows/cmake.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ permissions:
2424

2525
jobs:
2626
build-cmake:
27-
runs-on: ubuntu-22.04
27+
runs-on: ubuntu-24.04
2828
env:
2929
CMAKE_VERSION: "3.22.0"
3030
steps:
@@ -48,6 +48,8 @@ jobs:
4848
sudo apt-get update -y
4949
sudo apt-get install -y wget git gawk findutils ninja-build libpq-dev \
5050
gettext unixodbc-dev libnetcdf-dev
51+
LC_ALL=C.UTF-8 sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
52+
sudo apt-get update -y
5153
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \
5254
sudo apt-get install -y --no-install-recommends --no-install-suggests
5355
- name: Print build environment variables

.github/workflows/codeql-analysis.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ permissions: {}
1919
jobs:
2020
analyze:
2121
name: Analyze
22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-24.04
2323
permissions:
2424
security-events: write
2525
actions: read
@@ -53,13 +53,15 @@ jobs:
5353
run: |
5454
sudo apt-get update -y
5555
sudo apt-get install -y wget git gawk findutils
56+
LC_ALL=C.UTF-8 sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
57+
sudo apt-get update -y
5658
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \
5759
sudo apt-get install -y --no-install-recommends --no-install-suggests
5860
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
5961
if: ${{ matrix.language == 'c-cpp' }}
6062

6163
- name: Initialize CodeQL
62-
uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
64+
uses: github/codeql-action/init@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8
6365
with:
6466
languages: ${{ matrix.language }}
6567
config-file: ./.github/codeql/codeql-config.yml
@@ -79,11 +81,11 @@ jobs:
7981
- name: Build
8082
if: ${{ matrix.language == 'c-cpp' }}
8183
env:
82-
CFLAGS: -std=gnu11
83-
CXXFLAGS: -std=c++11
84-
run: .github/workflows/build_ubuntu-22.04.sh "${HOME}/install"
84+
CFLAGS: -std=gnu17
85+
CXXFLAGS: -std=c++17
86+
run: .github/workflows/build_ubuntu-24.04.sh "${HOME}/install"
8587

8688
- name: Perform CodeQL Analysis
87-
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
89+
uses: github/codeql-action/analyze@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8
8890
with:
8991
category: "/language:${{matrix.language}}"

.github/workflows/coverity.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414
# https://github.com/OSGeo/PROJ/blob/905c9a6c2da3dc6b7aa2c89d3ab78d9d1a9cd070/.github/workflows/coverity-scan.yml
1515
jobs:
1616
coverity:
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818
if: github.repository == 'OSGeo/grass'
1919
steps:
2020
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -25,6 +25,8 @@ jobs:
2525
run: |
2626
sudo apt-get update -y
2727
sudo apt-get install -y wget git gawk findutils
28+
LC_ALL=C.UTF-8 sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
29+
sudo apt-get update -y
2830
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \
2931
sudo apt-get install -y --no-install-recommends --no-install-suggests
3032

.github/workflows/create_release_draft.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
- name: Set up Python
3939
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
4040
with:
41-
python-version: '3.13'
41+
python-version: '3.14'
4242
- name: Create output directory
4343
run: |
4444
mkdir "${OUT_DIR}"
@@ -75,7 +75,7 @@ jobs:
7575
sha256sum "${GRASS}.tar.xz" > "${GRASS}.tar.xz.sha256"
7676
- name: Publish draft distribution to GitHub (for tags only)
7777
if: startsWith(github.ref, 'refs/tags/')
78-
uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
78+
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
7979
with:
8080
name: GRASS ${{ github.ref_name }}
8181
body: |

.github/workflows/docker.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,25 +84,40 @@ jobs:
8484
latest_tag="$(git tag --sort=-v:refname \
8585
| grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' \
8686
| head -n 1)"
87-
latest_rel_branch="$(git branch --all --list 'origin/*' \
88-
--contains "${latest_tag}" --format "%(refname:lstrip=3)")"
8987
echo "latest_tag=${latest_tag}" >> "${GITHUB_OUTPUT}"
9088
echo "latest_tag is: ${latest_tag}"
89+
if [ -z "$latest_tag" ]; then
90+
echo "Error getting latest tag information"
91+
echo "error_latest=yes" >> "${GITHUB_OUTPUT}"
92+
exit 0
93+
fi
94+
latest_rel_branch="$(git branch --all --list 'origin/*' \
95+
--contains "${latest_tag}" --format "%(refname:lstrip=3)" || echo "")"
9196
echo "latest_rel_branch=${latest_rel_branch}" >> "${GITHUB_OUTPUT}"
9297
echo "latest_rel_branch is: ${latest_rel_branch}"
98+
if [ -z "$latest_rel_branch" ]; then
99+
echo "Error getting latest release branch information"
100+
echo "error_latest_rel_branch=yes" >> "${GITHUB_OUTPUT}"
101+
exit 0
102+
fi
103+
echo "error_latest=no" >> "${GITHUB_OUTPUT}"
104+
echo "error_latest_rel_branch=no" >> "${GITHUB_OUTPUT}"
93105
- name: Get enable values for meta step
94106
id: enable
95107
run: |
96108
latest="${{
97109
(github.ref || format('{0}{1}', 'refs/tags/', github.event.release.tag_name))
98110
== format('refs/tags/{0}', steps.tag-branch.outputs.latest_tag)
99-
&& matrix.os == 'ubuntu' }}"
111+
&& matrix.os == 'ubuntu' && steps.tag-branch.outputs.error_latest == 'no' }}"
100112
current="${{
101113
( contains(fromJSON('["tag", "release"]'), github.event_name)
102114
&& (github.ref || format('{0}{1}', 'refs/tags/', github.event.release.tag_name))
103115
== format('refs/tags/{0}', steps.tag-branch.outputs.latest_tag)
104116
)
105-
|| github.ref == format('refs/heads/{0}', steps.tag-branch.outputs.latest_rel_branch)
117+
|| ( github.ref == format('refs/heads/{0}', steps.tag-branch.outputs.latest_rel_branch)
118+
&& steps.tag-branch.outputs.error_latest == 'no'
119+
&& steps.tag-branch.outputs.error_latest_rel_branch == 'no'
120+
)
106121
}}"
107122
echo "latest=${latest}" >> "${GITHUB_OUTPUT}"
108123
echo "latest is ${latest}"
@@ -130,14 +145,14 @@ jobs:
130145
- name: Set up Docker Buildx
131146
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
132147
- name: Login to GitHub Container Registry
133-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
148+
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
134149
with:
135150
registry: ghcr.io
136151
username: ${{ github.actor }}
137152
password: ${{ secrets.GITHUB_TOKEN }}
138153
- name: Login to Docker Hub
139154
if: ${{ github.repository_owner == 'OSGeo' && github.event_name != 'pull_request' }}
140-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
155+
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
141156
with:
142157
username: ${{ secrets.DOCKERHUB_USERNAME }}
143158
password: ${{ secrets.DOCKERHUB_TOKEN }}

.github/workflows/documentation.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ jobs:
1919
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
2020
cancel-in-progress: true
2121

22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-24.04
2323
env:
2424
PYTHONWARNINGS: always
2525
# renovate: datasource=python-version depName=python
26-
PYTHON_VERSION: "3.13"
26+
PYTHON_VERSION: "3.14"
2727

2828
steps:
2929
- name: Checkout core
@@ -42,6 +42,8 @@ jobs:
4242
graphviz \
4343
libpq-dev \
4444
unixodbc-dev
45+
LC_ALL=C.UTF-8 sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
46+
sudo apt-get update -y
4547
xargs -a <(awk '! /^ *(#|$)/' "grass/.github/workflows/apt.txt") -r -- \
4648
sudo apt-get install -y --no-install-recommends --no-install-suggests
4749

0 commit comments

Comments
 (0)