client: Add a generic Secret type #1095
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
on: | |
push: | |
branches: [main] | |
pull_request: | |
name: CI | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Check | |
run: cargo check | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Build client (async-std / native) | |
run: | | |
cargo build --manifest-path ./client/Cargo.toml --no-default-features --features async-std --features native_crypto | |
- name: Build client (async-std / OpenSSL) | |
run: | | |
cargo build --manifest-path ./client/Cargo.toml --no-default-features --features async-std --features openssl_crypto | |
- name: Build client (tokio / native) | |
run: | | |
cargo build --manifest-path ./client/Cargo.toml --no-default-features --features tokio --features native_crypto | |
- name: Build client (tokio / OpenSSL) | |
run: | | |
cargo build --manifest-path ./client/Cargo.toml --no-default-features --features tokio --features openssl_crypto | |
- name: Build CLI | |
run: | | |
cargo build --manifest-path ./cli/Cargo.toml | |
- name: Build Server | |
run: | | |
cargo build --manifest-path ./server/Cargo.toml | |
- name: Build Portal | |
run: | | |
cargo build --manifest-path ./portal/Cargo.toml | |
- name: Test (native) | |
run: | | |
cargo test --manifest-path ./client/Cargo.toml --no-default-features --features tokio --features native_crypto | |
- name: Test (OpenSSL) | |
run: | | |
cargo test --manifest-path ./client/Cargo.toml --no-default-features --features tokio --features openssl_crypto | |
cargo-deny: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v2 | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- name: Rust Format | |
run: cargo fmt --all --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- name: Clippy workspace (default features) | |
run: cargo clippy -- -D warnings | |
- name: Clippy client (tracing / async-std / native crypto) | |
run: cargo clippy -p oo7 --no-default-features --features tracing,async-std,native_crypto -- -D warnings | |
- name: Clippy client (tracing / tokio / OpenSSL) | |
run: cargo clippy -p oo7 --no-default-features --features tracing,tokio,openssl_crypto -- -D warnings | |
meson: | |
name: Meson (portal) | |
runs-on: ubuntu-latest | |
container: fedora:latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Install dependencies | |
run: dnf install -y git meson gcc # no idea why the hell meson with rust project requires gcc | |
- name: Build | |
working-directory: ./portal | |
run: meson setup ./ _build --prefix /usr && ninja -C _build |