Skip to content

Commit 500bd9f

Browse files
authored
Merge pull request #55 from xmtp/tyler/merge-upstream-main
Merge upstream openmls/openmls main (65396d8) into main
2 parents f850fdf + 57367bb commit 500bd9f

226 files changed

Lines changed: 29946 additions & 3609 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/benches.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,27 @@ on:
88
push:
99
branches:
1010
- main
11+
paths-ignore:
12+
- '**/*.md'
13+
- 'book/**'
14+
- 'LICENSE*'
15+
- '.gitignore'
1116
pull_request:
17+
paths-ignore:
18+
- '**/*.md'
19+
- 'book/**'
20+
- 'LICENSE*'
21+
- '.gitignore'
1222
workflow_dispatch:
1323

1424
env:
1525
CARGO_TERM_COLOR: always
1626

1727
jobs:
1828
benchmarks:
19-
strategy:
20-
fail-fast: false
21-
matrix:
22-
os:
23-
- macos-latest
24-
- ubuntu-latest
25-
- windows-latest
26-
runs-on: ${{ matrix.os }}
29+
runs-on: ubuntu-latest
2730
steps:
28-
- uses: actions/checkout@v6
31+
- uses: actions/checkout@v7
2932
with:
3033
ref: ${{ github.event.pull_request.head.sha }}
3134
- uses: dtolnay/rust-toolchain@stable

.github/workflows/build.yml

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Build
22

3-
concurrency:
3+
concurrency:
44
group: ${{ github.workflow }}-${{ github.ref }}
55
cancel-in-progress: true
66

@@ -39,34 +39,20 @@ jobs:
3939
- aarch64-apple-ios
4040
# WASM
4141
- wasm32-unknown-unknown
42-
include:
43-
# Compile iOS sim on macOS
44-
- os: macos-latest
45-
arch: aarch64-apple-ios-sim
46-
mode:
47-
- debug
48-
- release
4942
runs-on: ubuntu-latest
5043
steps:
51-
- uses: actions/checkout@v6
52-
# Install the required target
44+
- uses: actions/checkout@v7
5345
- uses: dtolnay/rust-toolchain@stable
5446
with:
5547
target: ${{ matrix.arch }}
5648
- uses: Swatinem/rust-cache@v2
5749

58-
- run: |
59-
if [ ${{ matrix.mode }} == debug ]; then
60-
echo "TEST_MODE=" >> $GITHUB_ENV
61-
else
62-
echo "TEST_MODE=--release" >> $GITHUB_ENV
63-
fi
6450
- name: Build (wasm)
6551
if: matrix.arch == 'wasm32-unknown-unknown'
66-
run: cargo build $TEST_MODE --verbose --target ${{ matrix.arch }} -p openmls -F js
52+
run: cargo build --release --verbose --target ${{ matrix.arch }} -p openmls -F js
6753
- name: Build
68-
if: ${{ matrix.arch != 'wasm32-unknown-unknown' }}
69-
run: cargo build $TEST_MODE --verbose --target ${{ matrix.arch }} -p openmls
54+
if: ${{ matrix.arch != 'wasm32-unknown-unknown' }}
55+
run: cargo build --release --verbose --target ${{ matrix.arch }} -p openmls
7056

7157
# Check feature powerset
7258
check:
@@ -75,14 +61,33 @@ jobs:
7561

7662
runs-on: ubuntu-latest
7763
steps:
78-
- uses: actions/checkout@v6
64+
- uses: actions/checkout@v7
7965
- uses: dtolnay/rust-toolchain@stable
8066
- uses: Swatinem/rust-cache@v2
8167
- uses: taiki-e/install-action@cargo-hack
8268

83-
# Group all features except fork-resolution,js,extensions-draft-08
69+
# Group features into independent axes to keep the powerset small.
70+
# `virtual-clients-draft` already enables `extensions-draft-08`, so they
71+
# share one "drafts" group. The pure cfg-gate flags don't interact and
72+
# form a "misc" group. `all-ciphersuites` only affects test expansion and
73+
# has no effect on a `--no-dev-deps check`, so it is excluded.
8474
- name: Cargo hack
8575
run: |
8676
cargo hack check --feature-powerset --no-dev-deps --verbose -p openmls \
8777
--group-features test-utils,crypto-debug,content-debug,backtrace,libcrux-provider,sqlite-provider \
88-
--group-features extensions-draft-08,extensions-draft-08-test-dependencies
78+
--group-features extensions-draft,extensions-draft-test-dependencies,virtual-clients-draft,virtual-clients-draft-test-dependencies \
79+
--group-features js,js-test \
80+
--group-features 0-8-1-storage-format,generate-kats,unchecked-conversions,fork-resolution \
81+
--exclude-features all-ciphersuites
82+
83+
# Verify the crates build with the declared MSRV (specified in rust-version in Cargo.toml)
84+
msrv:
85+
runs-on: ubuntu-latest
86+
steps:
87+
- name: Install dependencies
88+
run: sudo apt-get -y install protobuf-compiler # Needed to build the interop client
89+
- uses: actions/checkout@v7
90+
# keep in sync with rust-version in Cargo.toml
91+
- uses: dtolnay/rust-toolchain@1.91.0
92+
- uses: Swatinem/rust-cache@v2
93+
- run: cargo check --locked --workspace --all-features --all-targets

.github/workflows/build_test_sqlx_provider.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- macos-latest
2525
runs-on: ${{ matrix.os }}
2626
steps:
27-
- uses: actions/checkout@v6
27+
- uses: actions/checkout@v7
2828
- uses: dtolnay/rust-toolchain@stable
2929
- uses: Swatinem/rust-cache@v2
3030
with:
@@ -36,9 +36,9 @@ jobs:
3636
- name: Test openmls_sqlx_storage
3737
run: |
3838
cargo test --manifest-path sqlx_storage/Cargo.toml
39-
- name: Build openmls_sqlx_storage with `extensions-draft-08` feature
39+
- name: Build openmls_sqlx_storage with `extensions-draft` feature
4040
run: |
41-
cargo build -F extensions-draft-08 --manifest-path sqlx_storage/Cargo.toml
42-
- name: Test openmls_sqlx_storage with `extensions-draft-08` feature
41+
cargo build -F extensions-draft --manifest-path sqlx_storage/Cargo.toml
42+
- name: Test openmls_sqlx_storage with `extensions-draft` feature
4343
run: |
44-
cargo test -F extensions-draft-08 --manifest-path sqlx_storage/Cargo.toml
44+
cargo test -F extensions-draft --manifest-path sqlx_storage/Cargo.toml

.github/workflows/build_test_workspace.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- name: Install dependencies
3131
if: matrix.os == 'macos-latest'
3232
run: brew install protobuf
33-
- uses: actions/checkout@v6
33+
- uses: actions/checkout@v7
3434
- uses: dtolnay/rust-toolchain@stable
3535
- uses: Swatinem/rust-cache@v2
3636
with:
@@ -42,9 +42,9 @@ jobs:
4242
- name: Test workspace
4343
run: |
4444
cargo test --workspace --all-targets --exclude=openmls --exclude openmls-fuzz
45-
- name: Build workspace with `extensions-draft-08` feature
45+
- name: Build workspace with experimental features
4646
run: |
47-
cargo build --workspace -F extensions-draft-08 --all-targets --exclude openmls-fuzz
48-
- name: Test workspace with `extensions-draft-08` feature
47+
cargo build --workspace -F extensions-draft,draft-ietf-mls-pq-ciphersuites --all-targets --exclude openmls-fuzz
48+
- name: Test workspace with experimental features
4949
run: |
50-
cargo test --workspace -F extensions-draft-08 --all-targets --exclude=openmls --exclude openmls-fuzz
50+
cargo test --workspace -F extensions-draft,draft-ietf-mls-pq-ciphersuites --all-targets --exclude=openmls --exclude openmls-fuzz

.github/workflows/checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
checks:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v6
20+
- uses: actions/checkout@v7
2121
with:
2222
ref: ${{ github.event.pull_request.head.sha }}
2323
- uses: dtolnay/rust-toolchain@stable

.github/workflows/clippy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
clippy_check:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v6
14+
- uses: actions/checkout@v7
1515
- uses: dtolnay/rust-toolchain@stable
1616
with:
1717
components: clippy

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout repository
12-
uses: actions/checkout@v6
12+
uses: actions/checkout@v7
1313
with:
1414
submodules: true
1515

@@ -36,7 +36,7 @@ jobs:
3636
run: grcov . -s . --binary-path ./target/debug/ -t lcov --branch --ignore-not-existing -o ./target/debug/coverage/
3737

3838
- name: Upload to codecov.io
39-
uses: codecov/codecov-action@v6
39+
uses: codecov/codecov-action@v7
4040
with:
4141
token: ${{ secrets.CODECOV_TOKEN }}
4242
files: target/debug/coverage/lcov

.github/workflows/docs.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414
checks:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v6
18-
- uses: dtolnay/rust-toolchain@stable
17+
- uses: actions/checkout@v7
18+
- uses: dtolnay/rust-toolchain@nightly
1919
- uses: Swatinem/rust-cache@v2
20-
- run: cargo doc -p openmls --message-format json
20+
- run: RUSTDOCFLAGS="--cfg doc_cfg --cfg docsrs" cargo +nightly doc --all-features --no-deps
21+
working-directory: openmls

.github/workflows/fuzz.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,17 @@ on:
44
push:
55
branches:
66
- main
7+
paths-ignore:
8+
- '**/*.md'
9+
- 'book/**'
10+
- 'LICENSE*'
11+
- '.gitignore'
712
pull_request:
13+
paths-ignore:
14+
- '**/*.md'
15+
- 'book/**'
16+
- 'LICENSE*'
17+
- '.gitignore'
818
workflow_dispatch:
919

1020
concurrency:
@@ -19,7 +29,6 @@ jobs:
1929
strategy:
2030
fail-fast: false
2131
matrix:
22-
os: [macos-latest, ubuntu-latest]
2332
tests: [welcome_decode, mls_message_decode, proposal_decode]
2433
include:
2534
- tests: welcome_decode
@@ -28,9 +37,9 @@ jobs:
2837
runs: 50000
2938
- tests: proposal_decode
3039
runs: 50000
31-
runs-on: ${{ matrix.os }}
40+
runs-on: ubuntu-latest
3241
steps:
33-
- uses: actions/checkout@v6
42+
- uses: actions/checkout@v7
3443
- uses: dtolnay/rust-toolchain@master
3544
with:
3645
toolchain: nightly

.github/workflows/gh-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: hecrj/setup-rust-action@master
18-
- uses: actions/checkout@v6
18+
- uses: actions/checkout@v7
1919
- uses: dtolnay/rust-toolchain@stable
2020
with:
2121
toolchain: nightly

0 commit comments

Comments
 (0)