Skip to content

Revise and improve the API (the SQL functions) #173

Revise and improve the API (the SQL functions)

Revise and improve the API (the SQL functions) #173

Workflow file for this run

name: Run Tests
on:
workflow_dispatch:
pull_request:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rust-tests:
name: Rust tests and code coverage
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
onager/target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc curl pkg-config libssl-dev make liblzma-dev
# cargo-tarpaulin requires a newer rustc than the 1.86.0 pinned in rust-toolchain.toml
- name: Install cargo-tarpaulin
run: |
rustup toolchain install stable --profile minimal
cargo +stable install cargo-tarpaulin --locked
- name: Run Rust tests
run: |
make rust-test
- name: Generate coverage (using Tarpaulin)
run: |
make rust-coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
continue-on-error: false
sqllogictest:
name: Sqllogictest tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc curl pkg-config libssl-dev make liblzma-dev
- name: Build extension and run SQL tests
run: |
make release
make test
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Set up uv
uses: astral-sh/setup-uv@v5
- name: Install Python dependencies
run: |
uv sync --extra dev
- name: Run differential tests
run: |
make test-oracle