Skip to content

Merge branch 'lakesoul-io:main' into main #1

Merge branch 'lakesoul-io:main' into main

Merge branch 'lakesoul-io:main' into main #1

Workflow file for this run

# SPDX-FileCopyrightText: 2023 LakeSoul Contributors
#
# SPDX-License-Identifier: Apache-2.0
on:
push:
paths:
- "rust/**"
branches:
- 'main'
pull_request:
paths:
- "rust/**"
branches:
- 'main'
- 'release/**'
workflow_dispatch:
name: Rust CI
env:
RUSTFLAGS: "-Awarnings"
jobs:
rust_ci:
runs-on: ubuntu-latest
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres:14.5
# Provide the password for postgres
env:
POSTGRES_PASSWORD: lakesoul_test
POSTGRES_USER: lakesoul_test
POSTGRES_DB: lakesoul_test
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
--name lakesoul-test-pg
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432
minio:
image: bitnami/minio:2025.4.22-debian-12-r1
ports:
- "9000:9000"
- "9001:9001"
env:
MINIO_DEFAULT_BUCKETS: lakesoul-test-bucket:public
MINIO_ROOT_USER: minioadmin1
MINIO_ROOT_PASSWORD: minioadmin1
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt, clippy
- name: Install requirement
uses: ConorMacBride/install-package@v1
with:
apt: postgresql-client-16 cargo
- name: Init PG
run: |
./script/meta_init_for_local_test.sh -j 2
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
version: "23.x"
- name: Build and test
working-directory: ./rust
run: |
rm -f Cargo.lock
cargo clean
RUST_BACKTRACE=full cargo test --package lakesoul-datafusion
RUST_BACKTRACE=full cargo test --package lakesoul-flight --test flight_sql -- --color always --nocapture
RUST_BACKTRACE=full cargo test --color=always --package lakesoul-metadata --lib rbac::tests::test_verify_permission -- --nocapture
RUST_BACKTRACE=full cargo test --color=always --package lakesoul-s3-proxy --bin lakesoul-s3-proxy tests --profile test --no-fail-fast -- --nocapture