Skip to content

Update to sqlx 0.7.3 #177

Update to sqlx 0.7.3

Update to sqlx 0.7.3 #177

Workflow file for this run

# 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: format
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: format
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: format
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: format
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: format
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 }}