.github/workflows/ci.yml: run 'cargo valgrind test --lib' #1356
Workflow file for this run
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: CI | |
on: | |
push: | |
branches: [master, trying, staging] | |
pull_request: | |
branches: [master, trying, staging] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
RUST_BACKTRACE: 1 | |
jobs: | |
gdal: | |
strategy: | |
matrix: | |
version: | |
- 3.8.1 | |
- 3.7.3 | |
- 3.6.4 | |
- 3.5.3 | |
- 3.4.3 | |
- 3.3.3 | |
- 3.2.3 | |
- 3.1.3 # latest is 3.1.4, but there's no published image | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/osgeo/gdal:ubuntu-full-${{ matrix.version }} | |
name: "ci gdal-${{ matrix.version }}" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install build deps | |
shell: bash | |
run: | | |
curl -LO https://apache.jfrog.io/artifactory/arrow/ubuntu/apache-arrow-apt-source-latest-$(grep -F VERSION_CODENAME /etc/os-release | cut -d= -f2).deb | |
apt-get update -y || true | |
apt-get install gnupg -y | |
dpkg -i apache-arrow-apt-source-latest-$(grep -F VERSION_CODENAME /etc/os-release | cut -d= -f2).deb | |
apt-get update -y | |
apt-get install build-essential curl pkg-config libclang-dev -y | |
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: Setup building | |
run: | | |
export CC="clang-9" | |
export CXX="clang++-9" | |
- name: Install stable | |
run: | | |
rustup install --no-self-update --profile minimal stable | |
rustup component add rustfmt clippy | |
- name: Check with Rustfmt | |
run: cargo fmt --all --check | |
- name: Check with Clippy | |
run: cargo clippy --all-targets -- -D warnings | |
- name: Check with Clippy (--all-features) | |
run: cargo clippy --all-targets --all-features -- -D warnings | |
- name: Build | |
run: cargo build | |
- name: Run tests | |
run: cargo test | |
- name: Build (--all-features) | |
run: cargo build --all-features | |
- name: Run tests (--all-features) | |
run: cargo test --all-features -- --nocapture | |
ubuntu_lts: | |
name: "ci ubuntu-lts" | |
runs-on: "ubuntu-20.04" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install build deps | |
shell: bash | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install libgdal-dev gdal-bin build-essential curl pkg-config libclang-dev -y | |
export C_INCLUDE_PATH=/usr/include/gdal:$C_INCLUDE_PATH | |
export CPLUS_INCLUDE_PATH=/usr/include/gdal:$CPLUS_INCLUDE_PATH | |
sudo ldconfig | |
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: Setup building | |
run: | | |
export CC="clang-9" | |
export CXX="clang++-9" | |
- name: Install stable | |
run: | | |
rustup install --no-self-update --profile minimal stable | |
rustup component add rustfmt clippy | |
- name: Check with Rustfmt | |
run: cargo fmt --all --check | |
- name: Check with Clippy | |
run: cargo clippy --all-targets -- -D warnings | |
- name: Check with Clippy (--all-features) | |
run: cargo clippy --all-targets --all-features -- -D warnings | |
- name: Build | |
run: cargo build | |
- name: Run tests | |
run: cargo test | |
- name: Build (--all-features) | |
run: cargo build --all-features | |
- name: Run tests (--all-features) | |
run: cargo test --all-features -- --nocapture | |
- name: Install valgrind and cargo-valgrind | |
run: | | |
sudo apt-get install valgrind -y | |
cargo install cargo-valgrind | |
- name: Run --lib tests under valgrind | |
run: cargo valgrind test --lib |