Add support for external authenticators on Windows through webauthn.dll #270
Workflow file for this run
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
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| name: CI | |
| permissions: {} | |
| jobs: | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: step-security/actions-rs-toolchain@40a2f87e50bed6faa2d050e99810b226b75d8c8a # v1.0.7 | |
| with: | |
| profile: minimal | |
| toolchain: ${{ matrix.rust }} | |
| components: clippy | |
| target: x86_64-pc-windows-gnu | |
| - name: Install libudev | |
| run: sudo apt-get update && sudo apt-get install -y libudev-dev | |
| - name: Run Clippy | |
| run: rustup run ${{ matrix.rust }} cargo clippy --all --all-targets -- -D warnings | |
| - name: Run Clippy with `linux` feature | |
| run: rustup run ${{ matrix.rust }} cargo clippy --all --features linux -- -D warnings | |
| - name: Run Clippy with `windows` feature | |
| run: rustup run ${{ matrix.rust }} cargo clippy --all --target x86_64-pc-windows-gnu --features windows -- -D warnings | |
| fmt: | |
| name: Rustfmt | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: step-security/actions-rs-toolchain@40a2f87e50bed6faa2d050e99810b226b75d8c8a # v1.0.7 | |
| with: | |
| profile: minimal | |
| toolchain: ${{ matrix.rust }} | |
| components: rustfmt | |
| target: x86_64-pc-windows-gnu | |
| - name: Run Rustfmt | |
| run: rustup run ${{ matrix.rust }} cargo fmt --all -- --check | |
| semver-checks: | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install libudev | |
| run: sudo apt-get update && sudo apt-get install -y libudev-dev | |
| - name: Check semver with default features | |
| uses: obi1kenobi/cargo-semver-checks-action@6b69fcf40e9b5fb17adeb57e4b6ecd020649a239 # v2.9 | |
| with: | |
| package: passkey,passkey-authenticator,passkey-client,passkey-transports,passkey-types | |
| feature-group: default-features | |
| - name: Check semver with `linux` feature | |
| uses: obi1kenobi/cargo-semver-checks-action@6b69fcf40e9b5fb17adeb57e4b6ecd020649a239 # v2.9 | |
| with: | |
| package: passkey,passkey-authenticator,passkey-client,passkey-transports | |
| feature-group: default-features | |
| features: linux | |
| - name: Check semver with `windows` feature | |
| uses: obi1kenobi/cargo-semver-checks-action@6b69fcf40e9b5fb17adeb57e4b6ecd020649a239 # v2.9 | |
| with: | |
| package: passkey,passkey-client | |
| feature-group: default-features | |
| features: windows | |
| rust-target: x86_64-pc-windows-gnu | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install libudev | |
| run: sudo apt-get update && sudo apt-get install -y libudev-dev | |
| - name: Install Rust toolchain | |
| uses: step-security/actions-rs-toolchain@40a2f87e50bed6faa2d050e99810b226b75d8c8a # v1.0.7 | |
| with: | |
| profile: minimal | |
| toolchain: ${{ matrix.rust }} | |
| target: x86_64-pc-windows-gnu | |
| - name: Run rustdoc | |
| run: RUSTDOCFLAGS="-D warnings " rustup run ${{ matrix.rust }} cargo doc --workspace --no-deps | |
| - name: Run rustdoc with `linux` feature | |
| run: RUSTDOCFLAGS="-D warnings " rustup run ${{ matrix.rust }} cargo doc --workspace --no-deps --features linux | |
| - name: Run rustdoc with `windows` feature | |
| run: RUSTDOCFLAGS="-D warnings " rustup run ${{ matrix.rust }} cargo doc --workspace --no-deps --target x86_64-pc-windows-gnu --features windows | |
| test: | |
| name: Test | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: step-security/actions-rs-toolchain@40a2f87e50bed6faa2d050e99810b226b75d8c8a # v1.0.7 | |
| with: | |
| profile: minimal | |
| toolchain: ${{ matrix.rust }} | |
| - name: Install libudev | |
| run: sudo apt-get update && sudo apt-get install -y libudev-dev | |
| - name: Run tests | |
| run: rustup run ${{ matrix.rust }} cargo test | |
| - name: Run tests with `linux` feature | |
| run: rustup run ${{ matrix.rust }} cargo test --features linux | |
| test-windows: | |
| name: Test (Windows) | |
| runs-on: windows-2022 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: step-security/actions-rs-toolchain@40a2f87e50bed6faa2d050e99810b226b75d8c8a # v1.0.7 | |
| with: | |
| profile: minimal | |
| toolchain: ${{ matrix.rust }} | |
| - name: Run tests with `windows` feature | |
| run: rustup run ${{ matrix.rust }} cargo test --features windows | |
| typeshare: | |
| name: Typeshare | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.87.0 | |
| lang: | |
| - typescript | |
| - kotlin | |
| - swift | |
| include: | |
| - fs: ts | |
| lang: typescript | |
| - fs: kt | |
| lang: kotlin | |
| - fs: swift | |
| lang: swift | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | |
| with: | |
| egress-policy: audit | |
| - name: Check out repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install typeshare CLI | |
| uses: baptiste0928/cargo-install@f204293d9709061b7bc1756fec3ec4e2cd57dec0 # v3.4.0 | |
| with: | |
| crate: typeshare-cli | |
| version: "1.13.4" | |
| locked: true | |
| - name: Run typeshare CLI | |
| run: typeshare --lang=${{ matrix.lang }} . -o test.${{ matrix.fs }} |