-
Notifications
You must be signed in to change notification settings - Fork 54
Integrate hpke-rs in workspace
#1505
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
Merged
Merged
Changes from 250 commits
Commits
Show all changes
386 commits
Select commit
Hold shift + click to select a range
b6d6e1b
bump tls_codec to 0.4.0-pre.2 (#46)
franziskuskiefer 1992998
bump tls_codec to 0.4.0-pre.2
franziskuskiefer 67e0e44
disable publishing evercrypt provider
franziskuskiefer ee80ca4
bump tls_codec to 0.4.0-pre.4
franziskuskiefer 3bd14bd
v0.1.2
franziskuskiefer f4568ce
switch from rand to rand_core
japaric 58aaddf
rm unused serde_json dependency
japaric 6d043ea
rm unused tls_codec dependency
japaric 64b6497
rm RwLock
japaric a3ea3b1
use core::fmt instead of std::fmt
japaric 116c6bd
switch from rand to rand_core
japaric 41a8b31
disable unused (default) features in dependencies
japaric 50463d5
Merge pull request #47 from japaric/crypto-deps
franziskuskiefer d3b0d52
Merge branch 'main' into rust-crypto-no-std
franziskuskiefer 545caa6
Merge pull request #48 from japaric/rust-crypto-no-std
franziskuskiefer 70a6797
hpke-rs-crypto: make serde opt-in
japaric 5e3f3c7
rm getrandom dep
japaric 053eb58
rm Hpke's internal RwLock
japaric bb5755b
use core:: API instead of std:: re-exports
japaric dcd6545
switch from the std prelude to the core prelude
japaric 3687aeb
add an opt-out "std" Cargo feature
japaric 6e76bd9
rm unused serde_json feature
japaric db34854
Merge pull request #49 from japaric/opt-in-serde
franziskuskiefer 8c129c7
Merge branch 'main' into rm-getrandom-js
franziskuskiefer ff99123
use core::{fmt,convert} instead of the std re-export
japaric 6cf4660
put Error impl behind a std feature
japaric 16dba5c
import collections from alloc
japaric a969932
enable std feature when running benchmarks
japaric 3569324
switch from the core prelude to the std prelude
japaric 4a8cf19
Merge pull request #50 from japaric/crypto-no-std
franziskuskiefer c859252
Merge pull request #53 from japaric/rm-getrandom-js
franziskuskiefer 2b0b389
switch from x25519-dalek-ng to x25519-dalek
japaric b3e25d8
hpke-rs-rust-crypto: make deterministic-prng enable the std feature
japaric 891ac04
Merge pull request #55 from japaric/rm-rwlock
franziskuskiefer 7d557a5
Merge pull request #57 from japaric/x25519-dalek-og
franziskuskiefer ddf79d8
Merge pull request #58 from japaric/no-std-rust-crypto
franziskuskiefer 8043fce
CI: check no-std support
japaric 1b8e6b3
Merge pull request #56 from japaric/ci-no-std-support-check
franziskuskiefer 9840581
Merge pull request #59 from japaric/fix-hpke-rs-rust-crypto-all-features
franziskuskiefer a681d3d
update to 0.2.0-pre.1 (#61)
franziskuskiefer 37cdde0
v0.2.0
franziskuskiefer eccab6e
List correct x25519-dalek crate
marlonbaeten 969e8d9
Merge pull request #63 from marlonbaeten/patch-1
franziskuskiefer a3f4c59
Don't publish test
franziskuskiefer bdb3aec
bump tls_codec to 0.4.1-pre.1
franziskuskiefer 4c2d4e8
Update macos ci (#69)
franziskuskiefer da2abd6
Add support for secp256k1 curve (#66)
erskingardner 7554971
Merge branch 'main' into franziskus/drop-tests-from-package
franziskuskiefer a377495
Merge pull request #67 from cryspen/franziskus/drop-tests-from-package
franziskuskiefer a266409
move evercrypt_provider to libcrux_provider
wysiwys 668ed6a
update Cargo.toml
wysiwys e05cfc6
add `.gitignore`
wysiwys 630b921
begin replacing with pure Rust crates
wysiwys be0eacc
formatting
wysiwys c3ce579
clarify documentation
wysiwys 61d64ba
update rand dependency, traits, and provider
wysiwys 95979de
documentation
wysiwys 5110663
use provided prng
wysiwys cdbd308
formatting
wysiwys 5584436
add todo for HpkeExport
wysiwys 33beea2
fixup tests and providers
franziskuskiefer 2050785
wip: add xwing-06; bug in p256
franziskuskiefer c5c3452
generate pk and sk separately in `kem_key_gen()`
wysiwys 0292a93
documentation
wysiwys 8c92871
support XWingKemDraft06 in `kem_key_gen()`
wysiwys 908f652
add error handling
wysiwys ea6682f
update benchmarks
wysiwys dcafcc4
update benchmarks
wysiwys 615a326
more concise way to get rng from `rand` in benchmarks
wysiwys cef0b9f
remove debugging statements
wysiwys 5dc346e
wrap sha algorithm conversion
wysiwys a36fbd6
error handling
wysiwys 87c5155
fix lints
wysiwys db5a6bc
only convert enum types when needed
wysiwys 7b95be1
inline internal `secret_to_public` function
wysiwys bed0adf
remove `TODO`
wysiwys 9dc2497
feature-gate rand std features
wysiwys 71f780b
feature-gate hpke-rs-crypto std feature in hpke-rs
wysiwys 0984006
remove unused dependency
wysiwys 77013ea
replace documentation link
wysiwys 8dabffc
remove commented line
wysiwys d7169be
update Cargo.toml
wysiwys 3f95a01
enable custom getrandom backend
wysiwys ed9de61
support no-std in provider
wysiwys f997145
no-std rand dependencies (mostly)
wysiwys af536b6
depend on updated libcrux dependencies in new dev branch
wysiwys 24f7ec3
documentation
wysiwys 8123189
update repo links in `Cargo.toml` files
wysiwys 271a30d
replace references to evercrypt
wysiwys 55157bc
add error handling and tests
wysiwys 31bdf6e
remove executable permission on files
wysiwys 4c52dcd
test that libcrux provider does not support these algorithms
wysiwys 0d88efe
add chacha20poly1305 test
wysiwys 19dbd2d
add std feature to libcrux provider
wysiwys 31f5b20
depend on `main` branch of libcrux
wysiwys 4c87442
[CI] Update code coverage workflow (#74)
wysiwys a011dec
Merge branch 'main' into wysiwys/hpke-rs-libcrux
wysiwys 7d9776f
fix permissions on `.gitignore`
wysiwys 03365d4
error handling
wysiwys 523a321
update CHANGELOG
wysiwys 9e534d9
clarify text
wysiwys 39f98c5
update version and changelog
wysiwys f3e4663
minor version
wysiwys 1f8d8e7
more changelog updates
wysiwys adb2ba3
update version
wysiwys 2657af2
reset changelog for new crate
wysiwys d4feb69
formatting
wysiwys 919220e
remove unimplemented item
wysiwys f14e1c2
Merge pull request #72 from cryspen/wysiwys/hpke-rs-libcrux
wysiwys 5bc6592
Merge branch 'main' into wysiwys/fix-rust-crypto-panic
wysiwys a32a2d8
Merge pull request #73 from cryspen/wysiwys/fix-rust-crypto-panic
wysiwys a474c4e
updated tls_codec dep
franziskuskiefer 2a59e32
rust crypto: drop unused dependency
franziskuskiefer 48e0528
split kats
franziskuskiefer 74ed85c
keep rand dependency for benchmarks
franziskuskiefer ea031ea
Merge pull request #75 from cryspen/franziskus/v0.2.1-prep
franziskuskiefer 80151a3
Update Readme.md
franziskuskiefer 42dc11e
expose hpke types from trait
franziskuskiefer 2b77e59
features for crypto providers
franziskuskiefer 2b62f4f
re-export the crypto crates
franziskuskiefer e095085
put providers' `std` features behind feature gate
wysiwys 3664814
formatting
wysiwys 6617df2
update changelog
franziskuskiefer 7c1cfff
Merge pull request #77 from cryspen/franziskus/more-apis
franziskuskiefer a6c501a
update `libcrux-chacha20poly1305` dependency
wysiwys b109bde
formatting
wysiwys ab9c613
add crates to publish to workspace
wysiwys 7eca1db
simplify release script
wysiwys 001e9dc
only allow branch main
wysiwys ee2b73d
ignore this crate in workspace
wysiwys 4253e7a
use released crates
wysiwys 075e865
release script documentation
wysiwys 20d268b
Merge pull request #82 from cryspen:wysiwys/release-prep
franziskuskiefer 6ed6515
treat provider dependencies as optional
wysiwys 9af1f16
Merge pull request #84 from cryspen/wysiwys/release-prep
franziskuskiefer f168b5c
bump `hpke_rs` version
wysiwys 9d735b9
libcrux: bump to latest pre-release verison
franziskuskiefer c9ddfd9
Merge pull request #85 from cryspen/wysiwys/more-release-prep
franziskuskiefer e7d333a
chore: Release
franziskuskiefer a370201
0.3.0 release
franziskuskiefer 3683f6c
fixup changelog
franziskuskiefer d4ba4d3
Merge pull request #86 from cryspen/franziskus/0.3.0-release
franziskuskiefer 0f29d52
docs: add more supported KEMs to Readme
cpu 7ed44ee
Merge pull request #87 from cpu/cpu-readme-kem-updates
franziskuskiefer fed18fa
docs: add example
franziskuskiefer 8aa4845
update ci
franziskuskiefer d8d6094
add dependabot
franziskuskiefer 322d9a9
Merge pull request #88 from cryspen/franziskus/example
franziskuskiefer eba4913
Update criterion requirement from 0.5 to 0.7
dependabot[bot] a55a506
Bump peaceiris/actions-gh-pages from 3 to 4
dependabot[bot] 2feb32e
Bump actions/checkout from 2 to 5
dependabot[bot] 04f4b75
Merge pull request #89 from cryspen/dependabot/cargo/criterion-0.7
franziskuskiefer d93e7c5
Merge pull request #90 from cryspen/dependabot/github_actions/peaceir…
franziskuskiefer 7065b55
Merge branch 'main' into dependabot/github_actions/actions/checkout-5
franziskuskiefer e9ce222
Merge pull request #91 from cryspen/dependabot/github_actions/actions…
franziskuskiefer 2285204
Update libcrux-kem requirement from 0.0.3 to 0.0.4
dependabot[bot] 6a14007
Update libcrux-sha3 requirement from 0.0.3 to 0.0.4
dependabot[bot] eefbf59
Merge pull request #92 from cryspen/dependabot/cargo/libcrux-kem-0.0.4
franziskuskiefer 582b897
Update libcrux-chacha20poly1305 requirement from 0.0.3 to 0.0.4
dependabot[bot] 918ce28
Update libcrux-hkdf requirement from 0.0.3 to 0.0.4
dependabot[bot] cc10939
Update `libcrux_hkdf::extract/expand` call sites to 0.0.4 API
jschneider-bensch 9b2e873
Merge pull request #93 from cryspen/dependabot/cargo/libcrux-hkdf-0.0.4
franziskuskiefer 9fef354
Merge pull request #94 from cryspen/dependabot/cargo/libcrux-chacha20…
franziskuskiefer 14ec4db
Merge pull request #96 from cryspen/dependabot/cargo/libcrux-sha3-0.0.4
franziskuskiefer 5678d89
Update libcrux-ecdh requirement from 0.0.3 to 0.0.4
dependabot[bot] 4a7d2ab
Merge pull request #95 from cryspen/dependabot/cargo/libcrux-ecdh-0.0.4
franziskuskiefer ff29f65
Add AES-GCM support to libcrux provider (#98)
wysiwys 85f385f
Bump actions/checkout from 5 to 6 (#99)
dependabot[bot] e41c046
Update criterion requirement from 0.7 to 0.8 (#100)
dependabot[bot] 42ed743
release: bump to 0.4.0-beta.1
franziskuskiefer 94e04a0
release: bump to 0.4.0-beta.1
franziskuskiefer dee39e5
release: bump to 0.4.0
franziskuskiefer 76bb02a
use macos-15-intel (#104)
franziskuskiefer a4b38d3
fix XWing algorithm ID
franziskuskiefer b1641c6
Change name `XWingDraft06Hpke` -> `XWingDraft06Obsolete` & deprecate it
jschneider-bensch 2fd8459
Merge pull request #103 from cryspen/franziskus/fix-xwing-id
jschneider-bensch d2b6e61
release 0.5 (#105)
franziskuskiefer 0cdccc6
Update libcrux-sha3 requirement from 0.0.4 to 0.0.5 (#108)
dependabot[bot] 6cf5a15
Update libcrux dependencies (#114)
jschneider-bensch faf5ed6
Update changelog.md
franziskuskiefer f99fd7a
chore: Release
franziskuskiefer 02f7d27
Merge pull request #115 from cryspen/franziskus/0.5.1-release-prep
franziskuskiefer 8d60948
chore: Release
franziskuskiefer ca92739
Merge pull request #116 from cryspen/franziskus/0.5.1-release-prep2
franziskuskiefer 8dfe4ec
bump rand crate versions
franziskuskiefer f1f3cf8
Merge pull request #122 from cryspen/franziskus/bump-rand
franziskuskiefer 381f394
check context sequence number for overflow
franziskuskiefer 0657043
rc provider: check x25519 0 keys
franziskuskiefer 0de23a3
Apply suggestions from code review
franziskuskiefer faed51f
Update rust_crypto_provider/src/lib.rs
franziskuskiefer 231f476
Merge pull request #123 from cryspen/franziskus/ctr
franziskuskiefer 9c6557f
Merge pull request #124 from cryspen/franziskus/rc-provider-update
franziskuskiefer f11b165
switch to subtle::ConstantTimeEq and address supply chain rissk
tob-scott-a 0ecee3d
Merge pull request #126 from tob-scott-a/main
franziskuskiefer 816c090
add support for ML-KEM and X-Wing (#127)
tob-scott-a 0b83fce
Fix misc issues
franziskuskiefer 6901a0e
update changelogs
franziskuskiefer 6494d76
update libcrux dependencies
franziskuskiefer 807950b
update changelog
franziskuskiefer 801cd28
update tests for release mode
franziskuskiefer 7e62db9
Update rust_crypto_provider/Cargo.toml
franziskuskiefer a57b899
Merge pull request #128 from cryspen/franziskus/subtle-stuff
franziskuskiefer 757bd6a
Merge branch 'main' into franziskus/bump-libcrux
franziskuskiefer b55c249
Merge pull request #129 from cryspen/franziskus/bump-libcrux
franziskuskiefer e24bc40
chore: Release (#130)
franziskuskiefer 1ad40f5
chore: Release (#131)
franziskuskiefer 17856c6
Add initial security policy and reporting guidelines (#133)
franziskuskiefer 70e9e47
Update libcrux-sha3 requirement from 0.0.6 to 0.0.7 (#134)
dependabot[bot] 72b430f
A few bugs found by Claude, and their fixes (#136)
karthikbhargavan 1189200
rust-crypto-provider: disable pqc by default (#138)
franziskuskiefer 045ab50
libcrux: fixup hkdf benchmark (#139)
franziskuskiefer c4c76de
Update comment in Cargo.toml (#140)
jschneider-bensch d6afa1d
Update libcrux dependencies (#141)
jschneider-bensch 0b1b0c5
chore: update changelogs for 0.6.1 (#142)
franziskuskiefer fb51c08
chore: Release
franziskuskiefer 848d7dc
chore: Release
franziskuskiefer d564dab
Bump codecov/codecov-action from 5 to 6
dependabot[bot] ecdaec8
feat: add gated ml-kem support to libcrux provider
kkohbrok 98995bc
add changelog entry
kkohbrok 3b168d6
Merge pull request #146 from kkohbrok/konrad/libcrux-ml-kem-support
franziskuskiefer 66d8821
test: fix compilation of tests with experimental feature
boxdot 3fd9f5c
Merge pull request #147 from kkohbrok/konrad/p_curves_from_rustcrypto…
kkohbrok 4fb18a0
test experimental features in CI
boxdot bfe9b83
Merge branch 'main' into dima/fix-experimental-tests
boxdot 8e11953
Merge pull request #149 from boxdot/dima/fix-experimental-tests
franziskuskiefer b8dd01d
dependabot: group PRs
franziskuskiefer 982885d
Merge pull request #152 from cryspen/franziskus/dependabot-grouped
franziskuskiefer 734d508
Merge pull request #143 from cryspen/dependabot/github_actions/codeco…
franziskuskiefer 21c4aa2
feat: add p384 support (#150)
boxdot 0f15914
bump libcrux and rand (#154)
franziskuskiefer f9aeac6
build(deps): bump the all-cargo group across 1 directory with 2 updates
dependabot[bot] a011092
Merge pull request #157 from cryspen/dependabot/cargo/all-cargo-765fc…
franziskuskiefer d8575cf
build(deps): bump the all-actions group across 1 directory with 2 upd…
dependabot[bot] 199d502
cryspen -> celabs
franziskuskiefer 2b68a76
Merge pull request #162 from celabshq/franziskus/update-domains
franziskuskiefer c74dc09
Merge pull request #161 from celabshq/dependabot/github_actions/all-a…
franziskuskiefer 4ca904d
Merge hpke-rs
jschneider-bensch 20e9db3
[libcrux] Integrate hpke-rs in workspace
jschneider-bensch 32af11c
[hpke/CI] Move workflows
jschneider-bensch 00bb7e3
[hpke/CI] Fix gh-pages paths
jschneider-bensch d3f09b1
[hpke/CI] Disable GH pages and Coverage workflows
jschneider-bensch a4cafbe
[hpke-rs-rust-crypto] rustfmt `pq_kem.rs`
jschneider-bensch dcdd7a1
[hpke-rs-crypto] rustfmt `types.rs`
jschneider-bensch de3c5f8
[libcrux] Depend on `hpke-rs` workspace dependency (v.0.6.1)
jschneider-bensch 16babf4
Update crates/protocols/hpke/rust_crypto_provider/Readme.md
jschneider-bensch 41e9a4b
Update CHANGELOG.md
jschneider-bensch ca49265
[hpke] Update URLs to point to libcrux repository
jschneider-bensch 8661a8f
[CI] Pin checkout action to most recent version (v7) everywhere
jschneider-bensch 889384a
[hpke/CI] Run workflows only when hpke-rs or its direct workspace dep…
jschneider-bensch fddda77
[workspace] Simplify feature selection for `libcrux-traits`
jschneider-bensch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| name: HPKE - Benchmarks | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - '*' | ||
| pull_request: | ||
| branches: [ main ] | ||
|
|
||
| env: | ||
| CARGO_TERM_COLOR: always | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: ./crates/protocols/hpke | ||
|
|
||
| jobs: | ||
| build: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: | ||
| - macos-15-intel | ||
| - macos-latest | ||
| - ubuntu-latest | ||
| - windows-latest | ||
|
|
||
| runs-on: ${{ matrix.os }} | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v7 | ||
| - name: HPKE Benchmarks | ||
| run: cargo bench manual_benches | ||
| - name: HPKE Rust Crypto Benchmarks | ||
| working-directory: ./crates/protocols/hpke/rust_crypto_provider | ||
| run: cargo bench |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| name: HPKE - test coverage | ||
|
|
||
| on: [push] | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: ./crates/protocols/hpke | ||
|
|
||
| jobs: | ||
| check: | ||
| name: coverage | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - uses: dtolnay/rust-toolchain@nightly | ||
| with: | ||
| components: rustc, rust-std, cargo, llvm-tools, llvm-tools-preview | ||
| - uses: baptiste0928/cargo-install@v3 | ||
| with: | ||
| crate: grcov | ||
| - uses: Swatinem/rust-cache@v2 | ||
| - name: Run profiling tests | ||
| run: | | ||
| mkdir -p target/debug/coverage | ||
| cargo test --no-fail-fast | ||
| env: | ||
| CARGO_INCREMENTAL: '0' | ||
| RUSTFLAGS: '-Cinstrument-coverage -Ccodegen-units=1 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' | ||
| RUSTDOCFLAGS: '-Cinstrument-coverage -Ccodegen-units=1 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests -Z unstable-options --persist-doctests target/debug' | ||
|
|
||
| - name: Run grcov | ||
| id: coverage | ||
| run: grcov . -s . --binary-path ./target/debug/ -t lcov --branch --ignore-not-existing -o ./target/debug/coverage/ | ||
|
|
||
| - name: Upload to codecov.io | ||
| uses: codecov/codecov-action@v7 | ||
| with: | ||
| token: ${{ secrets.CODECOV_TOKEN }} | ||
| files: target/debug/coverage/lcov |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| name: HPKE - Deploy Docs | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: ./crates/protocols/hpke | ||
|
|
||
| jobs: | ||
| rustdoc: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: hecrj/setup-rust-action@master | ||
| - uses: actions/checkout@master | ||
| - name: Build docs | ||
| run: | | ||
| cargo doc -F "std,serialization,hazmat,rustcrypto,libcrux" --no-deps | ||
| touch ../../../target/doc/hpke_rs/.nojekyll | ||
| cat > ../../../target/doc/hpke_rs/index.html <<EOF | ||
| <!doctype html> | ||
| <html><head> | ||
| <meta http-equiv="refresh" content="0; URL='hpke_rs/index.html'" /> | ||
| </head></html> | ||
| EOF | ||
| - name: Deploy to Github Pages | ||
| uses: peaceiris/actions-gh-pages@v4 | ||
| with: | ||
| github_token: ${{ secrets.GITHUB_TOKEN }} | ||
| publish_dir: ../../../target/doc/hpke_rs |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| name: HPKE - iOS | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - '*' | ||
| pull_request: | ||
| branches: [ main ] | ||
|
|
||
| env: | ||
| CARGO_TERM_COLOR: always | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: ./crates/protocols/hpke | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: macos-15-intel | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v7 | ||
| - name: Setup MacOS | ||
| run: | | ||
| rustup target install aarch64-apple-darwin | ||
| rustup target install aarch64-apple-ios | ||
| - name: Apple Silicon Build | ||
| run: | | ||
| cargo build --target aarch64-apple-darwin --tests --verbose | ||
| cargo build --release --target aarch64-apple-darwin --tests --verbose | ||
| - name: iOS build | ||
| run: | | ||
| cargo build --target aarch64-apple-ios --tests --verbose | ||
| cargo build --release --target aarch64-apple-ios --tests --verbose |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,136 @@ | ||
| name: HPKE - Build & Test | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - '*' | ||
| pull_request: | ||
| branches: [ main ] | ||
|
jschneider-bensch marked this conversation as resolved.
Outdated
|
||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| env: | ||
| CARGO_TERM_COLOR: always | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: ./crates/protocols/hpke | ||
|
|
||
| jobs: | ||
| build: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: | ||
| - macos-15-intel | ||
| - macos-latest | ||
| - ubuntu-latest | ||
| - windows-latest | ||
|
|
||
| runs-on: ${{ matrix.os }} | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
|
jschneider-bensch marked this conversation as resolved.
Outdated
|
||
| with: | ||
| persist-credentials: false | ||
| - name: Run tests all features | ||
| run: cargo test --verbose --no-default-features -F "std,serialization,hazmat,rustcrypto,libcrux,experimental" | ||
| # Release | ||
| - name: Build Release | ||
| run: cargo build --release --verbose | ||
| - name: Run tests all features | ||
| run: cargo test --release --verbose -F "std,serialization,hazmat,rustcrypto,libcrux" | ||
| # Debug | ||
| - name: Build Debug | ||
| run: cargo build --verbose | ||
| - name: Run tests all features | ||
| run: cargo test --verbose -F "std,serialization,hazmat,rustcrypto,libcrux" | ||
| # RC Provider | ||
| - name: Build Debug RC provider all features | ||
| working-directory: ./crates/protocols/hpke/rust_crypto_provider | ||
| run: cargo build --verbose -F "std" | ||
| # Apple Silicon | ||
| - if: matrix.os == 'macos-15-intel' | ||
| run: | | ||
| rustup target install aarch64-apple-darwin | ||
| rustup target install aarch64-apple-ios | ||
| - name: Build | ||
| run: cargo build --verbose | ||
| - name: Apple Silicon Build | ||
| if: matrix.os == 'macos-15-intel' | ||
| run: | | ||
| cargo build --target aarch64-apple-darwin --tests --verbose | ||
| cargo build --release --target aarch64-apple-darwin --tests --verbose | ||
| # ARM64 iOS | ||
| - name: iOS aarch64 | ||
| if: matrix.os == 'macos-15-intel' | ||
| run: | | ||
| cargo build --target aarch64-apple-ios --tests --verbose | ||
| cargo build --release --target aarch64-apple-ios --tests --verbose | ||
| cross-build: | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| include: | ||
| # 32-bit Linux | ||
| - target: i686-unknown-linux-gnu | ||
| rust: stable | ||
| deps: sudo apt update && sudo apt install gcc-multilib | ||
| # wasm | ||
| - target: wasm32-unknown-unknown | ||
| rust: stable | ||
| # ARM64 Android | ||
| - target: aarch64-linux-android | ||
| rust: stable | ||
| # ARM64 iOS | ||
| - target: aarch64-apple-ios | ||
| rust: stable | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable | ||
| with: | ||
| toolchain: ${{ matrix.rust }} | ||
| target: ${{ matrix.target }} | ||
| - run: ${{ matrix.deps }} | ||
| - run: cargo build --target ${{ matrix.target }} | ||
| - run: cargo build --target ${{ matrix.target }} --release | ||
|
|
||
| fuzz: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: | ||
| - macos-15-intel | ||
| - ubuntu-latest | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Install latest nightly | ||
| uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable | ||
| with: | ||
| toolchain: nightly | ||
| - name: Install cargo-fuzz | ||
| run: cargo install cargo-fuzz | ||
| - name: Fuzz Base w/ RustCrypto | ||
| run: cargo fuzz run base -- -runs=10000 | ||
|
|
||
| no-std-check: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| persist-credentials: false | ||
| # we use a target that lacks a pre-compiled libstd to check if any dependency is using libstd | ||
| - name: Install stable toolchain | ||
| uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable | ||
| with: | ||
| toolchain: stable | ||
| targets: thumbv7em-none-eabihf | ||
| - name: build crates in no-std mode | ||
| run: cargo check --target thumbv7em-none-eabihf | ||
| working-directory: ./crates/protocols/hpke/no-std-support-check | ||
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.