Update to sqlx 0.7.2 #173
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
# yaml-language-server: $schema=./main.yaml | |
name: CI | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
RUST_TOOLCHAIN: 1.70.0 | |
EXASOL_VERSION: 7.0.22 | |
NUM_NODES: 2 | |
ETL_TEST_THREADS: 4 | |
ETL_JOB_TIMEOUT: 20 | |
jobs: | |
format: | |
name: Format | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
clippy: | |
name: Clippy | |
needs: format | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
etl: | |
[ | |
"--features etl_native_tls", | |
"--features etl_rustls", | |
"--features etl", | |
"", | |
] | |
compression: ["--features compression", ""] | |
migrate: ["--features migrate", ""] | |
extra_datatypes: ["--features rust_decimal,uuid,chrono", ""] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: clippy | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --tests ${{ matrix.etl }} ${{ matrix.migrate }} ${{ matrix.compression }} ${{ matrix.extra_datatypes }} | |
env: | |
RUSTFLAGS: -D warnings | |
check_windows: | |
name: Check Windows builds | |
needs: clippy | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --tests --features compression,migrate,etl,rust_decimal,uuid,chrono | |
check_mac_os: | |
name: Check MacOS builds | |
needs: clippy | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --tests --features compression,migrate,etl,rust_decimal,uuid,chrono | |
connection_tests: | |
name: Connection tests | |
needs: clippy | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Free disk space | |
uses: ./.github/actions/free-space | |
- name: Create Exasol cluster | |
id: exa-cluster | |
uses: ./.github/actions/exa-cluster | |
with: | |
exasol-version: ${{ env.EXASOL_VERSION }} | |
num-nodes: ${{ env.NUM_NODES }} | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- name: Connection tests | |
run: cargo test --features migrate,rust_decimal,uuid,chrono -- --nocapture | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.no-tls-url }} | |
- name: Connection tests with compression | |
run: cargo test --features migrate,compression -- --ignored --nocapture | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.no-tls-url }} | |
tls_connection_tests: | |
name: TLS connection tests | |
needs: clippy | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Free disk space | |
uses: ./.github/actions/free-space | |
- name: Create Exasol cluster | |
id: exa-cluster | |
uses: ./.github/actions/exa-cluster | |
with: | |
exasol-version: ${{ env.EXASOL_VERSION }} | |
num-nodes: ${{ env.NUM_NODES }} | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- name: TLS connection tests | |
run: cargo test --features migrate,rust_decimal,uuid,chrono -- --nocapture | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} | |
- name: TLS connection tests with compression | |
run: cargo test --features migrate,compression -- --ignored --nocapture | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} | |
etl_tests: | |
name: ETL tests | |
needs: clippy | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Free disk space | |
uses: ./.github/actions/free-space | |
- name: Create Exasol cluster | |
id: exa-cluster | |
uses: ./.github/actions/exa-cluster | |
with: | |
exasol-version: ${{ env.EXASOL_VERSION }} | |
num-nodes: ${{ env.NUM_NODES }} | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- name: ETL tests | |
timeout-minutes: ${{ fromJSON(env.ETL_JOB_TIMEOUT) }} | |
run: cargo test --features migrate,compression,etl -- --ignored --nocapture --test-threads ${{ env.ETL_TEST_THREADS }} | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.no-tls-url }} | |
- name: ETL without TLS feature but TLS connection (should fail) | |
run: cargo test --features migrate,etl -- --ignored --nocapture --test-threads ${{ env.ETL_TEST_THREADS }} || true | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} | |
- name: Tests compilation failure if both ETL TLS features are enabled | |
run: cargo test --features etl_native_tls,etl_rustls || true | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} | |
native_tls_etl_tests: | |
name: ETL tests with native-tls | |
needs: clippy | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Free disk space | |
uses: ./.github/actions/free-space | |
- name: Create Exasol cluster | |
id: exa-cluster | |
uses: ./.github/actions/exa-cluster | |
with: | |
exasol-version: ${{ env.EXASOL_VERSION }} | |
num-nodes: ${{ env.NUM_NODES }} | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- name: Native-TLS ETL tests | |
timeout-minutes: ${{ fromJSON(env.ETL_JOB_TIMEOUT) }} | |
run: cargo test --features migrate,compression,etl_native_tls -- --ignored --nocapture --test-threads ${{ env.ETL_TEST_THREADS }} | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} | |
rustls_etl_tests: | |
name: ETL tests with rustls | |
needs: clippy | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Free disk space | |
uses: ./.github/actions/free-space | |
- name: Create Exasol cluster | |
id: exa-cluster | |
uses: ./.github/actions/exa-cluster | |
with: | |
exasol-version: ${{ env.EXASOL_VERSION }} | |
num-nodes: ${{ env.NUM_NODES }} | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- name: Rustls ETL tests | |
timeout-minutes: ${{ fromJSON(env.ETL_JOB_TIMEOUT) }} | |
run: cargo test --features migrate,compression,etl_rustls -- --ignored --nocapture --test-threads ${{ env.ETL_TEST_THREADS }} | |
env: | |
DATABASE_URL: ${{ steps.exa-cluster.outputs.tls-url }} |