Skip to content

Mesa compatibility #137

Mesa compatibility

Mesa compatibility #137

name: Client Commands
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
paths:
- "mina-frost-client/**"
- ".github/workflows/client-commands.yml"
env:
CARGO_TERM_COLOR: always
jobs:
test-frost-examples:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
with:
key: client-commands-stable
- name: Install example prerequisites
uses: ./.github/actions/setup-frost-prereqs
# Pre-build once instead of building for each example
- name: Build mina-frost-client (release mode)
run: |
cd mina-frost-client
cargo build --release --bin mina-frost-client
# Run all examples that test if the basic usecases of the client don't break
- name: Run Trusted Dealer Example
run: |
cd mina-frost-client/examples/trusted_dealer_example
timeout 300 ./trusted_dealer_example.sh
- name: Run DKG Example
run: |
cd mina-frost-client/examples/dkg_example
timeout 300 ./dkg_example.sh
- name: Run Signing Example
run: |
cd mina-frost-client/examples/signing_example
timeout 300 ./signing_example.sh
- name: Verify generated artifacts
run: |
test -f mina-frost-client/examples/trusted_dealer_example/generated/alice.toml
test -f mina-frost-client/examples/trusted_dealer_example/generated/bob.toml
test -f mina-frost-client/examples/trusted_dealer_example/generated/eve.toml
test -f mina-frost-client/examples/dkg_example/generated/alice.toml
test -f mina-frost-client/examples/dkg_example/generated/bob.toml
test -f mina-frost-client/examples/dkg_example/generated/eve.toml
test -f mina-frost-client/examples/signing_example/generated/signature.json
test -f mina-frost-client/examples/signing_example/generated/message.json
- name: Upload artifacts on failure
if: failure()
uses: actions/upload-artifact@v6
with:
name: frost-example-outputs
path: |
mina-frost-client/examples/*/generated/
retention-days: 7