feat: first batch of client APIs #1532
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: | |
schedule: [{cron: "30 13 * * *"}] | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
format: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
components: rustfmt | |
override: true | |
- run: cargo fmt -- --check | |
lint: | |
name: Clippy lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
components: clippy | |
override: true | |
- name: Lint default | |
run: cargo clippy -- -D warnings | |
- name: Lint minimal | |
run: cargo clippy --no-default-features -- -D warnings | |
- name: Lint server-api without tls | |
run: cargo clippy --no-default-features --features server-api -- -D warnings | |
- name: Lint ring | |
run: cargo clippy --no-default-features --features server-api-ring -- -D warnings | |
- name: Lint scram | |
run: cargo clippy --features scram -- -D warnings | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
build: [stable, nightly] | |
include: | |
- build: stable | |
os: ubuntu-latest | |
rust: stable | |
- build: nightly | |
os: ubuntu-latest | |
rust: nightly | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Build and run tests on default feature set | |
run: cargo test | |
- name: Run tests on minimal feature set | |
run: cargo test --no-default-features | |
- name: Run tests without tls | |
run: cargo test --no-default-features --features server-api | |
- name: Run tests on additional scram+ring feature set | |
run: cargo test --no-default-features --features server-api-ring,scram | |
- name: Run tests on additional scram+aws-lc-rs feature set | |
run: cargo test --features scram | |
- name: Run check on duckdb and sqlite example | |
run: cargo check --all-targets --features _duckdb,_sqlite,_bundled | |
integration: | |
name: Integration tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
needs: [test] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: | | |
pip install psycopg | |
pip install psycopg2 | |
- uses: turtlequeue/[email protected] | |
with: | |
babashka-version: 1.1.173 | |
- run: ./tests-integration/test.sh | |
msrv: | |
name: MSRV | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: "1.75" | |
override: true | |
- run: cargo build | |
- run: cargo build --no-default-features | |
- run: cargo build --no-default-features --features server-api | |
- run: cargo build --no-default-features --features server-api-ring | |
- run: cargo build --features scram |