VRTProcessedDataset: use GDALTranspose2D() #8947
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Code Checks | |
on: | |
push: | |
paths-ignore: | |
- 'doc/**' | |
branches-ignore: | |
- 'backport**' | |
- 'dependabot**' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
cppcheck_2004: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install Requirements | |
run: | | |
sudo apt update | |
sudo apt install -y cppcheck libsqlite3-dev ccache sqlite3 libproj-dev cmake | |
- name: Run cmake | |
run: | | |
mkdir build | |
cd build | |
cmake .. | |
- name: Run cppcheck test | |
run: | | |
cd build | |
../scripts/cppcheck.sh | |
cppcheck_2404: | |
runs-on: ubuntu-latest | |
container: ubuntu:24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install Requirements | |
run: | | |
apt update | |
apt install -y cppcheck libsqlite3-dev ccache sqlite3 libproj-dev cmake g++ make | |
- name: Run cmake | |
run: | | |
mkdir build | |
cd build | |
cmake .. | |
- name: Run cppcheck test | |
run: | | |
cd build | |
../scripts/cppcheck.sh | |
cppcheck_master: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install Requirements | |
run: | | |
sudo apt update | |
sudo apt install -y git libsqlite3-dev ccache sqlite3 libproj-dev cmake g++ make | |
- name: Build cppcheck | |
run: | | |
git clone https://github.com/danmar/cppcheck | |
cd cppcheck | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
make -j$(nproc) | |
sudo make install | |
cd ../.. | |
- name: Run cmake | |
run: | | |
mkdir build | |
cd build | |
cmake .. | |
- name: Run cppcheck test (on push events) | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
cd build | |
../scripts/cppcheck.sh | |
- name: Run cppcheck test, but ignore failures (on pull request) | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
cd build | |
# Do not fail the job. This is just used as a tool to monitor how we are regarding recent cppcheck | |
../scripts/cppcheck.sh || /bin/true | |
code_quality_checks: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Detect tabulations | |
run: ./scripts/detect_tabulations.sh | |
- name: Detect printf | |
run: ./scripts/detect_printf.sh | |
- name: Detect self assignments | |
run: ./scripts/detect_self_assignment.sh | |
- name: Detect suspicious char digit zero | |
run: ./scripts/detect_suspicious_char_digit_zero.sh | |
- name: Detect missing includes | |
run: ./scripts/detect_missing_include.sh | |
# Helps detecting updates of internal libjson-c where replacement | |
# of strtod() -> CPLStrtod() is missing. The later function is not | |
# locale sensitive. An alternative would be to make sure that HAVE_USELOCALE | |
# or HAVE_SETLOCALE are passed on Windows, but avoiding to mess with | |
# locale seems to be a better option | |
- name: Detect invalid use of atof() or strtod() in internal libjson | |
run: | | |
grep -e "CPLStrtod(" ../ogr/ogrsf_frmts/geojson/libjson/*.c >/dev/null && echo "CPLStrtod() found as expected" | |
if grep -e "strtod(" ogr/ogrsf_frmts/geojson/libjson/*.c; then echo "Unexpected use of strtod(). Use CPLStrtod() instead"; /bin/false; fi | |
if grep -e "atof(" ogr/ogrsf_frmts/geojson/libjson/*.c; then echo "Unexpected use of atof()."; /bin/false; fi | |
- name: Shellcheck | |
# SC2129: (style): Consider using { cmd1; cmd2; } >> file instead of individual redirects | |
run: shellcheck -e SC2086,SC2046,SC2164,SC2054,SC2129 $(find . -name '*.sh' -a -not -name ltmain.sh -a -not -wholename "./autotest/*" -a -not -wholename "./.github/*") | |
binary_files: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Requirements | |
run: | | |
sudo apt-get install -y python3 coreutils | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Detect binary files | |
run: python3 ./scripts/check_binaries.py | |
linting: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 | |
doxygen: | |
runs-on: ubuntu-latest | |
container: ghcr.io/osgeo/proj-docs | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Run doxygen | |
run: | | |
cd doc | |
make doxygen_check_warnings | |
other_checks: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install Requirements | |
run: | | |
sudo apt-get install -y --no-install-recommends python3-pip | |
sudo apt-get remove -y python3-jsonschema | |
PYTHON_CMD=python3 && sudo $PYTHON_CMD -m pip install --break-system-packages cffconvert | |
- name: Validate citation file | |
run: | | |
cffconvert --validate | |
cffconvert -f bibtex | |
cffconvert -f apalike | |
cmake-lint: | |
# Disabled because of https://github.com/OSGeo/gdal/pull/5326#issuecomment-1042617407 | |
if: false | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Set up Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.8 | |
- name: Install lint tool | |
run: | | |
PYTHON_CMD=python3 && $PYTHON_CMD -m pip --upgrade pip | |
PYTHON_CMD=python3 && $PYTHON_CMD -m pip install cmake-format pyyaml | |
- name: Check cmakelist | |
run: find . -name CMakeLists.txt |xargs cmake-format --check | |
validate_xml: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install requirements | |
run: | | |
sudo apt update | |
sudo apt install -y libxml2-utils | |
- name: Run xmllint checks | |
run: | | |
xmllint --schema ./frmts/nitf/data/nitf_spec.xsd ./frmts/nitf/data/nitf_spec.xml --noout | |
xmllint --schema ./ogr/ogrsf_frmts/vdv/data/vdv452.xsd ./ogr/ogrsf_frmts/vdv/data/vdv452.xml --noout | |
xmllint --schema ./ogr/ogrsf_frmts/gmlas/data/gmlasconf.xsd ./ogr/ogrsf_frmts/gmlas/data/gmlasconf.xml --noout | |
check-config-options: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Set up Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.8 | |
- name: Check cmakelist | |
run: | | |
python scripts/collect_config_options.py | |
git diff | |
git diff --quiet || (echo "You need to run scripts/collect_config_options to update port/cpl_known_config_options.h" && /bin/false) | |