Skip to content

Commit

Permalink
Merge tag 'v3.8.1' into RELEASE
Browse files Browse the repository at this point in the history
Create tag v3.8.1
  • Loading branch information
starseeker committed Dec 19, 2023
2 parents 6133cf3 + 5dd68b5 commit ad3c9e0
Show file tree
Hide file tree
Showing 1,785 changed files with 353,907 additions and 98,009 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/alpine/Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ RUN apk add \
qhull-dev \
unixodbc-dev \
libpq-dev \
apache-arrow-dev \
py3-pyarrow py3-pyarrow-pyc \
libxml2-dev \
podofo-dev

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/alpine/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ cmake ${GDAL_SOURCE_DIR:=..} \
-DIconv_LIBRARY=/usr/lib/libiconv.so \
-DCMAKE_C_FLAGS=-Werror -DCMAKE_CXX_FLAGS=-Werror -DWERROR_DEV_FLAG="-Werror=dev"
make -j$(nproc)
make -j$(nproc) install DESTDIR=/tmp/install-gdal
2 changes: 1 addition & 1 deletion .github/workflows/android_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cache
uses: actions/cache@v3
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/benchmarks/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash

set -eu

CMAKE_ARGS=(
"-DUSE_CCACHE=ON" \
"-DCMAKE_BUILD_TYPE=Release" \
"-DCMAKE_INSTALL_PREFIX=/usr" \
"-DGDAL_USE_TIFF_INTERNAL=ON" \
"-DGDAL_USE_GEOTIFF_INTERNAL=ON" \
"-DECW_ROOT=/opt/libecwj2-3.3" \
"-DMRSID_ROOT=/usr/local" \
"-DFileGDB_ROOT=/usr/local/FileGDB_API" \
"-DBUILD_CSHARP_BINDINGS=OFF" \
"-DBUILD_JAVA_BINDINGS=OFF" \
"-DGDAL_BUILD_OPTIONAL_DRIVERS=OFF" \
"-DOGR_BUILD_OPTIONAL_DRIVERS=OFF" \
"-DOGR_ENABLE_DRIVER_GPKG=ON" \
)

cmake ${GDAL_SOURCE_DIR:=..} \
"${CMAKE_ARGS[@]}"

make -j$(nproc)

mkdir old_version
cd old_version
git clone https://github.com/OSGeo/gdal
cd gdal
git checkout 32ec2a989c083fbfd9498169052829640b7df7c6
mkdir build
cd build

cmake .. \
"${CMAKE_ARGS[@]}"

make -j$(nproc)
27 changes: 27 additions & 0 deletions .github/workflows/benchmarks/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

set -eu

BENCHMARK_STORAGE="file://${PWD}/benchmark_results"

# Use time.process_time for more reliability on VMs
BENCHMARK_OPTIONS=(
"--benchmark-storage=${BENCHMARK_STORAGE}" \
"--benchmark-timer=time.process_time" \
)

# Dry run to hopefully stabilize later timings
(cd old_version/gdal/build; source ../scripts/setdevenv.sh; pytest autotest/benchmark "${BENCHMARK_OPTIONS[@]}" --capture=no -ra -vv)

# Run reference (old) build and save its results
(cd old_version/gdal/build; source ../scripts/setdevenv.sh; pytest autotest/benchmark "${BENCHMARK_OPTIONS[@]}" --benchmark-save=ref --capture=no -ra -vv)

# Run target build and compare its results to the reference one.
# Fail if we get results 20% slower or more.
# Retry if that fails a first time.
BENCHMARK_COMPARE_OPTIONS=(
"--benchmark-compare-fail=min:20%" \
"--benchmark-compare=0001_ref" \
)

(source ${GDAL_SOURCE_DIR:=..}/scripts/setdevenv.sh; pytest autotest/benchmark "${BENCHMARK_OPTIONS[@]}" "${BENCHMARK_COMPARE_OPTIONS[@]}" --capture=no -ra -vv || (echo "Retrying..."; pytest autotest/benchmark "${BENCHMARK_OPTIONS[@]}" "${BENCHMARK_COMPARE_OPTIONS[@]}" --capture=no -ra -vv))
2 changes: 1 addition & 1 deletion .github/workflows/clang_static_analyzer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Run
run: docker run --rm -v $PWD:$PWD ubuntu:16.04 sh -c "cd $PWD && apt update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends sudo software-properties-common && DEBIAN_FRONTEND=noninteractive sh ./ci/travis/csa_common/before_install.sh && sh ./ci/travis/csa_common/install.sh && sh ./ci/travis/csa_common/script.sh"
37 changes: 19 additions & 18 deletions .github/workflows/cmake_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
cache-name: cmake-ubuntu-focal
steps:
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup cache
uses: actions/cache@v3
id: cache
Expand All @@ -57,7 +57,7 @@ jobs:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B827C12C2D425E227EDCA75089EBE08314DF160
sudo add-apt-repository -y http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu/
sudo apt-get update
sudo apt-get install -y -q bison libjpeg-dev libgif-dev liblzma-dev libzstd-dev libgeos-dev git \
sudo apt-get install -y -q bison libaec-dev libjpeg-dev libgif-dev liblzma-dev libzstd-dev libgeos-dev git \
libcurl4-gnutls-dev libproj-dev libxml2-dev libxerces-c-dev libnetcdf-dev netcdf-bin \
libpoppler-dev libpoppler-private-dev gpsbabel libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils \
libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libcrypto++-dev libkml-dev \
Expand Down Expand Up @@ -153,12 +153,12 @@ jobs:
- name: Install pdfium
run: |
wget -q https://github.com/rouault/pdfium_build_gdal_3_7/releases/download/pdfium_5461_v1/install-ubuntu2004-rev5461.tar.gz \
&& tar -xzf install-ubuntu2004-rev5461.tar.gz \
wget -q https://github.com/rouault/pdfium_build_gdal_3_8/releases/download/pdfium_5952_v1/install-ubuntu2004-rev5952.tar.gz \
&& tar -xzf install-ubuntu2004-rev5952.tar.gz \
&& sudo chown -R root:root install \
&& sudo mv install/lib/* /usr/lib/ \
&& sudo mv install/include/* /usr/include/ \
&& sudo rm -rf install-ubuntu2004-rev5461.tar.gz install \
&& sudo rm -rf install-ubuntu2004-rev5952.tar.gz install \
&& sudo apt-get update -y \
&& sudo apt-get install -y --fix-missing --no-install-recommends liblcms2-dev
- name: Configure ccache
Expand Down Expand Up @@ -321,7 +321,7 @@ jobs:
run: |
git config --global core.autocrlf false
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install development packages
uses: msys2/setup-msys2@v2
with:
Expand All @@ -334,7 +334,7 @@ jobs:
mingw-w64-x86_64-geos mingw-w64-x86_64-libspatialite mingw-w64-x86_64-proj
mingw-w64-x86_64-cgal mingw-w64-x86_64-libfreexl mingw-w64-x86_64-hdf5 mingw-w64-x86_64-netcdf mingw-w64-x86_64-poppler mingw-w64-x86_64-postgresql
mingw-w64-x86_64-libgeotiff mingw-w64-x86_64-libpng mingw-w64-x86_64-libtiff mingw-w64-x86_64-openjpeg2
mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-pytest mingw-w64-x86_64-python-setuptools mingw-w64-x86_64-python-lxml mingw-w64-x86_64-swig
mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-pytest mingw-w64-x86_64-python-setuptools mingw-w64-x86_64-python-lxml mingw-w64-x86_64-swig mingw-w64-x86_64-python-psutil
- name: Setup cache
uses: actions/cache@v3
id: cache
Expand Down Expand Up @@ -414,7 +414,7 @@ jobs:
run: |
git config --global core.autocrlf false
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
- name: populate JAVA_HOME
shell: pwsh
Expand All @@ -433,18 +433,19 @@ jobs:
- name: Install dependency
shell: bash -l {0}
run: |
conda install --yes --quiet curl libiconv icu python=3.10 swig numpy pytest pytest-env filelock zlib lxml jsonschema
conda install --yes --quiet curl libiconv icu python=3.10 swig numpy pytest pytest-env pytest-benchmark filelock zlib lxml jsonschema
# FIXME: remove libnetcdf=4.9.2=nompi_h5902ca5_107 pinning as soon as https://github.com/conda-forge/libnetcdf-feedstock/issues/182 is resolved
conda install --yes --quiet proj geos hdf4 hdf5 kealib \
libnetcdf openjpeg poppler libtiff libpng xerces-c expat libxml2 kealib json-c \
libnetcdf=4.9.2=nompi_h5902ca5_107 openjpeg poppler libtiff libpng xerces-c expat libxml2 kealib json-c \
cfitsio freexl geotiff libjpeg-turbo libpq libspatialite libwebp-base pcre pcre2 postgresql \
sqlite tiledb zstd cryptopp cgal doxygen librttopo libkml openssl xz \
openjdk ant qhull armadillo blas blas-devel libblas libcblas liblapack liblapacke blosc libarchive \
arrow-cpp pyarrow
arrow-cpp pyarrow libaec
- name: Install pdfium
shell: bash -l {0}
run: |
curl -LOs https://github.com/rouault/pdfium_build_gdal_3_7/releases/download/pdfium_5461_v1/install-win10-vs2019-x64-rev5461.zip
unzip install-win10-vs2019-x64-rev5461.zip
curl -LOs https://github.com/rouault/pdfium_build_gdal_3_8/releases/download/pdfium_5952_v1/install-win10-vs2019-x64-rev5952.zip
unzip install-win10-vs2019-x64-rev5952.zip
mv install install-pdfium
- name: Remove conflicting libraries
Expand Down Expand Up @@ -505,7 +506,7 @@ jobs:
run: |
git config --global core.autocrlf false
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: gdalenv
Expand All @@ -519,7 +520,7 @@ jobs:
- name: Install dependency
shell: bash -l {0}
run: |
conda install --yes --quiet proj pytest pytest-env filelock lxml
conda install --yes --quiet proj pytest pytest-env pytest-benchmark filelock lxml
- name: Configure
shell: bash -l {0}
run: |
Expand Down Expand Up @@ -568,7 +569,7 @@ jobs:
with:
xcode-version: 14.2
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup cache
uses: actions/cache@v3
id: cache
Expand Down Expand Up @@ -648,7 +649,7 @@ jobs:
run: |
git config --global core.autocrlf false
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: gdalenv
Expand All @@ -657,7 +658,7 @@ jobs:
- name: Install dependency
shell: bash -l {0}
run: |
conda install --yes --quiet --name gdalenv curl libiconv icu python=3.9 swig numpy pytest pytest-env filelock zlib clcache lxml
conda install --yes --quiet --name gdalenv curl libiconv icu python=3.9 swig numpy pytest pytest-env pytest-benchmark filelock zlib clcache lxml
conda install --yes --quiet --name gdalenv -c conda-forge libgdal
- name: Configure
shell: bash -l {0}
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/code_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install Requirements
run: |
Expand All @@ -46,7 +46,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Detect tabulations
run: ./scripts/detect_tabulations.sh
Expand Down Expand Up @@ -80,15 +80,15 @@ jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: pre-commit/action@v3.0.0

doxygen:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install Requirements
run: |
Expand All @@ -108,7 +108,7 @@ jobs:

steps:
- name: Checkout GDAL
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 100

Expand All @@ -127,7 +127,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install Requirements
run: |
Expand All @@ -146,7 +146,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
Expand All @@ -163,7 +163,7 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install requirements
run: |
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
CACHE_NUMBER: 0

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Support longpaths
run: git config --system core.longpaths true
Expand Down Expand Up @@ -69,7 +69,6 @@ jobs:
- name: Build
shell: bash -l {0}
run: |
patch -p1 < ../ci/travis/conda/libarchive.patch
source ../ci/travis/conda/compile.sh
working-directory: ./gdal-feedstock

Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/coverage/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/sh

set -eu

export CXXFLAGS="--coverage"
export CFLAGS="--coverage"
export LDFLAGS="-lgcov"

cmake ${GDAL_SOURCE_DIR:=..} \
-DUSE_CCACHE=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/usr \
-DGDAL_USE_TIFF_INTERNAL=ON \
-DGDAL_USE_GEOTIFF_INTERNAL=ON \
-DECW_ROOT=/opt/libecwj2-3.3 \
-DMRSID_ROOT=/usr/local \
-DFileGDB_ROOT=/usr/local/FileGDB_API \
-DSQLite3_INCLUDE_DIR=/usr/local/install-sqlite-trusted-schema-off/include \
-DSQLite3_LIBRARY=/usr/local/install-sqlite-trusted-schema-off/lib/libsqlite3.so

make -j$(nproc)
16 changes: 16 additions & 0 deletions .github/workflows/coverage/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

set -eu

export OGR_HANA_CONNECTION_STRING='DRIVER=/usr/sap/hdbclient/libodbcHDB.so;HOST=917df316-4e01-4a10-be54-eac1b6ab15fb.hana.prod-us10.hanacloud.ondemand.com;PORT=443;USER=GDALCI;PASSWORD=u7t!Ukeugzq7'

ctest -V -j $(nproc)

lcov --directory . --capture --output-file gdal.info 2>/dev/null
cp gdal.info gdal_filtered.info
lcov --remove gdal_filtered.info '/usr/*' --output-file gdal_filtered.info
lcov --remove gdal_filtered.info '/opt/*' --output-file gdal_filtered.info
lcov --remove gdal_filtered.info '*jpeg/libjpeg*' --output-file gdal_filtered.info
lcov --remove gdal_filtered.info '*pcraster/libcsf*' --output-file gdal_filtered.info
lcov --remove gdal_filtered.info '*googletest-src*' --output-file gdal_filtered.info
genhtml -o ./coverage_html --ignore-errors source --num-spaces 2 gdal_filtered.info >/dev/null
19 changes: 12 additions & 7 deletions .github/workflows/coverity_scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ jobs:
env:
CONTAINER_REGISTRY: ${{ vars.gdal_container_registry || 'ghcr.io' }}
CONTAINER_REGISTRY_USER: ${{ vars.gdal_container_registry_user || github.repository_owner }}
CONTAINER_NAME: gdal-deps:${{ matrix.container}}-${{ github.base_ref || github.ref_name }}
CONTAINER_NAME: gdal-deps
CONTAINER_TAG: ${{ matrix.container }}-${{ github.base_ref || github.ref_name }}
GDAL_SOURCE_DIR: /gdal # Directory to which workspace (source root) will be mounted inside container

defaults:
Expand All @@ -42,19 +43,23 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Login to GHCR
if: env.CONTAINER_REGISTRY == 'ghcr.io'
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin

- name: Pull build environment
- name: Set variables
shell: bash
# This logic needs to be kept in sync between linux_build.yml and converity_scan.yml
run: |
export CONTAINER_NAME_FULL="${CONTAINER_REGISTRY}/${CONTAINER_REGISTRY_USER,,}/${CONTAINER_NAME}"
docker pull ${CONTAINER_REGISTRY}/osgeo/${CONTAINER_NAME} || true
docker pull ${CONTAINER_NAME_FULL} || true
echo "CONTAINER_NAME_FULL=${CONTAINER_NAME_FULL}" >>${GITHUB_ENV}
CONTAINER_TAG_CLEAN=$(echo ${CONTAINER_TAG} | tr -d -c "[:alnum:].-")
echo "CONTAINER_TAG_CLEAN=${CONTAINER_TAG_CLEAN}"
echo "CONTAINER_TAG_CLEAN=${CONTAINER_TAG_CLEAN}" >> ${GITHUB_ENV}
CACHE_CONTAINER_TAG_CLEAN=$(echo ${CACHE_CONTAINER_TAG} | tr -d -c "[:alnum:].-")
echo "CACHE_CONTAINER_TAG_CLEAN=${CACHE_CONTAINER_TAG_CLEAN}"
echo "CACHE_CONTAINER_TAG_CLEAN=${CACHE_CONTAINER_TAG_CLEAN}" >> ${GITHUB_ENV}
echo "CONTAINER_NAME_FULL=${CONTAINER_REGISTRY}/${CONTAINER_REGISTRY_USER,,}/${CONTAINER_NAME}:${CONTAINER_TAG_CLEAN}" >>${GITHUB_ENV}
- name: Build
run: |
Expand Down
Loading

0 comments on commit ad3c9e0

Please sign in to comment.