Skip to content

Add support for external authenticators on Windows through webauthn.dll #270

Add support for external authenticators on Windows through webauthn.dll

Add support for external authenticators on Windows through webauthn.dll #270

Workflow file for this run

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 }}