Skip to content

Fix auth integration improvements #470

Fix auth integration improvements

Fix auth integration improvements #470

on:
push:
pull_request:
workflow_dispatch:
name: CI
jobs:
auth_integration:
name: Auth integration
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install rust
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Cache Keycloak Docker image
id: cache-keycloak
uses: actions/cache@v4
with:
path: ~/keycloak-image.tar
key: ${{ runner.os }}-docker-keycloak-20.0.2
- name: Load Keycloak Docker image
if: steps.cache-keycloak.outputs.cache-hit == 'true'
run: docker load -i ~/keycloak-image.tar
- name: Pull and Save Keycloak Docker image
if: steps.cache-keycloak.outputs.cache-hit != 'true'
run: |
docker pull quay.io/keycloak/keycloak:20.0.2
docker save quay.io/keycloak/keycloak:20.0.2 -o ~/keycloak-image.tar
- name: Run auth integration test
run: cargo test --test auth_integration
test:
name: Test
runs-on: ubuntu-latest
env:
TEST_ELECTRUM_SERVER: fortress.qtornado.com:443
strategy:
matrix:
rust:
- stable # STABLE
- 1.75.0 # MSRV
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ github.job }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- name: Pin dependencies for MSRV
if: matrix.rust == '1.75.0'
run: |
cargo update -p openssl --precise "0.10.78"
cargo update -p openssl-sys --precise "0.9.114"
cargo update -p zeroize --precise "1.8.2"
cargo update -p jobserver --precise "0.1.34"
- name: Test
run: cargo test --verbose --all-features --lib --bins --examples
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable # STABLE
- 1.75.0 # MSRV
features:
- --features default
- --no-default-features
- --no-default-features --features proxy
- --no-default-features --features openssl
- --no-default-features --features rustls
- --no-default-features --features rustls-ring
- --no-default-features --features proxy,openssl,rustls,rustls-ring
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ github.job }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- name: Pin dependencies for MSRV
if: matrix.rust == '1.75.0'
run: |
cargo update -p openssl --precise "0.10.78"
cargo update -p openssl-sys --precise "0.9.114"
cargo update -p zeroize --precise "1.8.2"
cargo update -p jobserver --precise "0.1.34"
- name: Check features
run: cargo check --verbose ${{ matrix.features }}
fmt:
name: Rust fmt
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
- name: Check fmt
run: cargo fmt --all -- --config format_code_in_doc_comments=true --check
clippy_check:
name: Rust clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: 1.90.0
components: clippy
- name: Rust Cache
uses: Swatinem/rust-cache@v2.2.1
- run: cargo clippy --all-features --all-targets -- -D warnings