Skip to content

SparseTilesFillAdapter: add requested bounds, fill only if needed #5127

SparseTilesFillAdapter: add requested bounds, fill only if needed

SparseTilesFillAdapter: add requested bounds, fill only if needed #5127

Workflow file for this run

name: CI
on:
pull_request:
merge_group:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ${{matrix.os}}
services:
postgres:
image: postgis/postgis
env:
POSTGRES_USER: geoengine
POSTGRES_PASSWORD: geoengine
POSTGRES_DB: geoengine
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
matrix:
os:
- ubuntu-22.04
features: ["", "--features pro", "--all-features"]
build: [""]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Install lld & GDAL & Protobuf
run: |
sudo apt-get update
sudo apt-get install lld libgdal-dev gdal-bin build-essential clang curl protobuf-compiler
sudo apt-get clean
export C_INCLUDE_PATH=/usr/include/gdal:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/include/gdal:$CPLUS_INCLUDE_PATH
sudo ldconfig
- name: Install Rustup
run: |
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --profile minimal --default-toolchain none -y
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
- name: Install SQLFluff
run: pip install sqlfluff==2.3.5
- name: Init rustup toolchain
run: rustup show # enough to initialize the toolchain
- name: setup rust build cache
uses: Swatinem/rust-cache@v2
with:
# An explicit cache key that is used instead of the automatic `job`-based
# cache key and is thus stable across jobs.
# Default: empty
shared-key: ""
# An additional cache key that is added alongside the automatic `job`-based
# cache key and can be used to further differentiate jobs.
# Default: empty
key: ci_test_${{ matrix.os }}_${{ matrix.features }}_${{ matrix.build }}
# A whitespace separated list of env-var *prefixes* who's value contributes
# to the environment cache key.
# The env-vars are matched by *prefix*, so the default `RUST` var will
# match all of `RUSTC`, `RUSTUP_*`, `RUSTFLAGS`, `RUSTDOC_*`, etc.
# Default: "CARGO CC CFLAGS CXX CMAKE RUST"
#env-vars: ""
# The cargo workspaces and target directory configuration.
# These entries are separated by newlines and have the form
# `$workspace -> $target`. The `$target` part is treated as a directory
# relative to the `$workspace` and defaults to "target" if not explicitly given.
# Default: ". -> target"
#workspaces: ""
# Determines if the cache should be saved even when the workflow has failed.
# Default: "false"
#cache-on-failure: ""
- name: Check with Rustfmt
run: cargo fmt --all -- --check
- name: Check with Clippy
run: cargo clippy --all-targets ${{ matrix.features }} ${{ matrix.build }} -- -D warnings
- name: Check with SQLFluff
run: sqlfluff lint
- name: Run tests
run: cargo test ${{ matrix.features }} ${{ matrix.build }} --verbose
build:
runs-on: ${{matrix.os}}
strategy:
matrix:
os:
- ubuntu-22.04
features: ["", "--features pro", "--all-features"]
build: ["", "--release"]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: APT update
run: sudo apt-get update
- name: Install lld & GDAL & Protobuf
run: |
sudo apt-get install lld libgdal-dev gdal-bin build-essential curl protobuf-compiler
export C_INCLUDE_PATH=/usr/include/gdal:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/include/gdal:$CPLUS_INCLUDE_PATH
sudo ldconfig
- name: Install Rustup
run: |
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --profile minimal --default-toolchain none -y
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
- name: Init rustup toolchain
# somehow rustup show will take care to initialize the version based on the toolchain file
run: rustup show
- name: setup rust build cache
uses: Swatinem/rust-cache@v2
with:
# An explicit cache key that is used instead of the automatic `job`-based
# cache key and is thus stable across jobs.
# Default: empty
shared-key: ""
# An additional cache key that is added alongside the automatic `job`-based
# cache key and can be used to further differentiate jobs.
# Default: empty
key: ci_test_${{ matrix.os }}_${{ matrix.features }}_${{ matrix.build }}
# A whitespace separated list of env-var *prefixes* who's value contributes
# to the environment cache key.
# The env-vars are matched by *prefix*, so the default `RUST` var will
# match all of `RUSTC`, `RUSTUP_*`, `RUSTFLAGS`, `RUSTDOC_*`, etc.
# Default: "CARGO CC CFLAGS CXX CMAKE RUST"
#env-vars: ""
# The cargo workspaces and target directory configuration.
# These entries are separated by newlines and have the form
# `$workspace -> $target`. The `$target` part is treated as a directory
# relative to the `$workspace` and defaults to "target" if not explicitly given.
# Default: ". -> target"
#workspaces: ""
# Determines if the cache should be saved even when the workflow has failed.
# Default: "false"
#cache-on-failure: ""
- name: Build
run: cargo build ${{ matrix.features }} ${{ matrix.build }} --verbose