CI #1349
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 | |
run: cargo clippy --all-features -- -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 on additional scram+ring feature set | |
run: cargo test --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/setup-babashka@v1.5.0 | |
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.72" | |
override: true | |
- run: cargo build --no-default-features | |
- run: cargo build --all-features |