Skip to content

Support receiving own proposals without an error #486

Support receiving own proposals without an error

Support receiving own proposals without an error #486

Workflow file for this run

name: Interop Tests
on: [pull_request]
env:
CARGO_TERM_COLOR: always
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
jobs:
BuildAndTest:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
path: mls
- name: Clone test runner
uses: actions/checkout@v4
with:
repository: mlswg/mls-implementations
ref: 7066309c555bfc11fbc74f8288a8563c927637b2
path: interop
- uses: arduino/setup-protoc@v2
with:
version: "25.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build test runner
working-directory: interop/interop
run: |
cp -r ../../mls-rs/test_harness_integration/configs mls-rs-configs
go env -w GOPROXY=direct
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT:$GOPATH:$GOBIN
GOFLAGS=-mod=mod go generate ./...
make test-runner/test-runner
- name: Test interop; full feature set with itself
run: |
cd mls-rs/test_harness_integration
cargo build
cargo run -- --port 50001 &
cd ../../interop/interop
for config in `ls mls-rs-configs | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --config mls-rs-configs/$config ; done > /dev/null
kill %1
- name: Test interop; full feature with "bare bones"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features
cargo run --no-default-features -- --port 50002 &
cd ../../interop/interop
test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --public --config mls-rs-configs/bare_bones.json > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no tree_index"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features private_message,prior_epoch,out_of_order,psk,custom_proposal,by_ref_proposal
cargo run --no-default-features --features private_message,prior_epoch,out_of_order,psk,custom_proposal,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no private_message"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,prior_epoch,out_of_order,psk,custom_proposal,by_ref_proposal
cargo run --no-default-features --features tree_index,prior_epoch,out_of_order,psk,custom_proposal,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | grep -v "application" | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --public --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no prior_epoch"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,private_message,out_of_order,psk,custom_proposal,by_ref_proposal
cargo run --no-default-features --features tree_index,private_message,out_of_order,psk,custom_proposal,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | grep -Ev "(application_out_of_order_across)|(psk)" | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no out_of_order"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,private_message,prior_epoch,psk,custom_proposal,by_ref_proposal
cargo run --no-default-features --features tree_index,private_message,prior_epoch,psk,custom_proposal,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | grep -v "application_out_of_order" | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no psk"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,custom_proposal,by_ref_proposal
cargo run --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,custom_proposal,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | grep -Ev "(psk)|(branch)|(reinit)" | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no custom_proposal"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,psk,by_ref_proposal
cargo run --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,psk,by_ref_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2
- name: Test interop; full feature with "no by_ref_proposal"
run: |
cd mls-rs/test_harness_integration
cargo run -- --port 50001 &
cargo build --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,psk,custom_proposal
cargo run --no-default-features --features tree_index,private_message,prior_epoch,out_of_order,psk,custom_proposal -- --port 50002 &
cd ../../interop/interop
for config in `ls mls-rs-configs | grep -E "(application)|(commit_by_value)|(branch)|(welcome_join)" | sed -e "s/mls-rs-configs\///"`; do >&2 echo $config && test-runner/test-runner --client localhost:50001 --client localhost:50002 --suite 1 --config mls-rs-configs/$config ; done > /dev/null
kill %1
kill %2