Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add cargo workpaces + add pass-webauthn #1

Merged
merged 24 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2274310
feat: add cargo workpaces + add `pass-webauthn`
pandres95 Oct 11, 2024
c6b1815
change(verifier): use result for `verify`, input `der` directly
pandres95 Oct 11, 2024
abcf97b
change(verifier): adjust dependencies
pandres95 Oct 11, 2024
8bd1d29
feat: add some github actions
pandres95 Oct 11, 2024
e444d6a
fix: add cargo lockfile (needed by ci, and sanity)
pandres95 Oct 11, 2024
b64eaa1
change(pass-webauthn): base structures
pandres95 Oct 11, 2024
0e85e37
change(pass-webauthn): base implementations
pandres95 Oct 11, 2024
d460532
change(pass-webauthn): produce structures for `Authenticator` and `De…
pandres95 Oct 11, 2024
dd9dad5
change(pass-webauthn): make things slightly simpler
pandres95 Oct 11, 2024
d1e1f05
fix(pass-webauthn): split declarations that are needed in runtime fro…
pandres95 Oct 11, 2024
8dedcfa
change(pass-webauthn): tests
pandres95 Oct 11, 2024
dcac66e
change(pass-webauthn): complete tests
pandres95 Oct 11, 2024
abb1917
change(pass-webauthn): resolving challenge and authority from input data
pandres95 Oct 11, 2024
1f0edb5
change(Cargo): import `public-suffix` for `pass-webauthn` test
pandres95 Oct 14, 2024
025f5c9
change(pass-webauthn/tests): adjust test setup
pandres95 Oct 14, 2024
95fa042
wip(pass-webauthn): apply changes and leave for finishing `Attestation`.
pandres95 Oct 14, 2024
c55a062
change(pass-webauthn): fix impls and work towards registration verifi…
jgutierrezre Oct 14, 2024
ea8ca28
change(pass-webauthn): minor refactor + complete implementations for …
pandres95 Oct 15, 2024
62733ee
change(pass-webauthn): fix implementation of tests
pandres95 Oct 15, 2024
0a2d029
fix(pass-webauthn): `challenge` should be decoded using `BASE654_URL_…
pandres95 Oct 15, 2024
b2e290c
fix(pass-webauthn): adjust tests to comply mock's requirements
pandres95 Oct 15, 2024
ddbd57a
fix: make clippy happy
pandres95 Oct 15, 2024
7c4a9e2
change(pass-webauthn): trim unused dependencies
pandres95 Oct 15, 2024
99b86b8
change(pass-webauthn): perf improvements over `get_from_json_then_map`
pandres95 Oct 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Lint, check, clippy and test

on:
push:
branches: [ main ]
pull_request:
types: [ opened, synchronize, reopened, ready_for_review ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check formatting
run: cargo fmt --all -- --check

check:
needs: lint
runs-on: ubuntu-latest
steps:
- name: Setup Ubuntu dependencies
shell: bash
run: sudo apt update && sudo apt install -y protobuf-compiler

- uses: actions/checkout@v4

- name: Rust Cache
uses: Swatinem/rust-cache@v2.7.3
with:
cache-on-failure: true
cache-all-crates: true
key: check

- name: Check Build
run: |
cargo check --release --locked --all-features --workspace

clippy:
needs: lint
runs-on: ubuntu-latest
permissions:
checks: write
env:
SKIP_WASM_BUILD: 1
steps:
- name: Setup Ubuntu dependencies
shell: bash
run: sudo apt update && sudo apt install -y protobuf-compiler

- uses: actions/checkout@v4

- name: Rust Cache
uses: Swatinem/rust-cache@v2.7.3
with:
cache-on-failure: true
cache-all-crates: true
key: check

- name: Annotate with Clippy warnings
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --release --locked --all-features --workspace

test:
needs: lint
runs-on: ubuntu-latest
steps:
- name: Setup Ubuntu dependencies
shell: bash
run: sudo apt update && sudo apt install -y protobuf-compiler

- uses: actions/checkout@v4

- name: Rust Cache
uses: Swatinem/rust-cache@v2.7.3
with:
cache-on-failure: true
cache-all-crates: true
key: test

- name: Run tests
run: cargo test --release --locked --all-features --workspace
20 changes: 20 additions & 0 deletions .github/workflows/lint-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "Lint PR"

on:
pull_request_target:
types:
- opened
- edited
- synchronize

permissions:
pull-requests: read

jobs:
lint:
name: Validate PR title for conventional commit compliance
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

Expand Down
Loading
Loading