chore: release v0.9.0 #758
This file contains hidden or 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: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - 'website/**' | |
| - 'docs/**' | |
| - '**.md' | |
| - '.gitignore' | |
| - 'LICENSE*' | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| paths-ignore: | |
| - 'website/**' | |
| - 'docs/**' | |
| - '**.md' | |
| - '.gitignore' | |
| - 'LICENSE*' | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry and build | |
| uses: swatinem/rust-cache@v2 | |
| - name: Run tests | |
| run: cargo test --workspace --all-features | |
| provider-features: | |
| # Every other job builds with --all-features, which is why a dependency | |
| # gated behind one provider feature but used by all of them compiled | |
| # cleanly here and broke for anyone selecting a single provider. | |
| # See https://github.com/marcjazz/authkestra/issues/321. | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| feature: [github, google, discord] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry and build | |
| uses: swatinem/rust-cache@v2 | |
| - name: Build with one provider and nothing else | |
| # --all-targets on purpose: without it this only compiles the lib, and | |
| # the tests and examples — where a feature-gating slip is just as easy | |
| # to make — are never built. Requires the provider tests to declare | |
| # `required-features`, which they do. | |
| run: | | |
| cargo check --all-targets -p authkestra-providers --no-default-features \ | |
| --features ${{ matrix.feature }},rustls-aws-lc-rs | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry and build | |
| uses: swatinem/rust-cache@v2 | |
| - name: Run clippy | |
| run: cargo clippy --workspace --all-features -- -D warnings | |
| fmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry and build | |
| uses: swatinem/rust-cache@v2 | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| coverage: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry and build | |
| uses: swatinem/rust-cache@v2 | |
| - name: Install cargo-llvm-cov | |
| uses: taiki-e/install-action@cargo-llvm-cov | |
| - name: Run coverage and fail if under threshold | |
| run: cargo llvm-cov --workspace --all-features --lcov --output-path lcov.info --fail-under-lines 84 | |
| - name: Upload coverage to Codecov | |
| if: always() | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: lcov.info | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Report coverage to DeepSource | |
| if: ${{ always() && env.DEEPSOURCE_DSN != '' }} | |
| env: | |
| DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }} | |
| run: | | |
| curl -fsSL https://cli.deepsource.com/install | BINDIR=./bin sh | |
| ./bin/deepsource report --analyzer test-coverage --key rust --value-file lcov.info | |
| deny: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Check cargo-deny | |
| uses: EmbarkStudios/cargo-deny-action@v2 |