Skip to content

mutiny-server

mutiny-server #2561

Workflow file for this run

name: Tests
on:
pull_request:
jobs:
check_formatting:
name: Check Formatting
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-formatting-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-formatting-v2-
cargo-${{ runner.os }}-
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
components: rustfmt
profile: minimal
- name: Check formatting
run: |
cargo +nightly-2023-10-24 fmt -- --check
- name: Check docs
run: cargo +nightly-2023-10-24 doc
website:
name: Build WASM binary
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
target: wasm32-unknown-unknown
override: true
profile: minimal
- uses: jetli/[email protected]
with:
version: 'v0.12.1'
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-browser-tests-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-browser-tests-v2-
cargo-${{ runner.os }}-
- name: Build wasm package
env:
RUSTUP_TOOLCHAIN: nightly-2023-10-24
run: wasm-pack build ./mutiny-wasm --release --weak-refs --target web
browser_tests:
name: Browser Tests
runs-on: ubuntu-latest
timeout-minutes: 60
env:
RUSTUP_TOOLCHAIN: nightly-2023-10-24
WASM_BINDGEN_TEST_TIMEOUT: 240
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
target: wasm32-unknown-unknown
override: true
profile: minimal
- uses: jetli/[email protected]
with:
version: 'v0.12.1'
- name: Setup trunk
uses: jetli/[email protected]
with:
version: 'latest'
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-browser-tests-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-browser-tests-v2-
cargo-${{ runner.os }}-
- run: wasm-pack test --headless --firefox ./mutiny-core
- run: wasm-pack test --headless --chrome ./mutiny-core
- run: wasm-pack test --headless --firefox ./mutiny-wasm
- run: wasm-pack test --headless --chrome ./mutiny-wasm
wasm_checks:
name: Rust Wasm Checks
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
components: clippy
target: wasm32-unknown-unknown
override: true
profile: minimal
- name: Setup trunk
uses: jetli/[email protected]
with:
version: 'latest'
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-rust-wasm-checks-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-rust-wasm-checks-v2-
cargo-${{ runner.os }}-
- name: Check clippy mutiny-wasm
run: cargo clippy --all-features --tests --package mutiny-wasm -- -D warnings
core_tests_linux:
name: Core Tests on Linux
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- wasm32-unknown-unknown
- x86_64-unknown-linux-gnu
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
override: true
profile: minimal
components: clippy
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-core-tests-linux-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-core-tests-linux-v2-
cargo-${{ runner.os }}-
- name: Add targets
run: rustup target add ${{ matrix.target }}
- name: Run cargo clippy
run: cargo clippy --all-features --tests --package mutiny-core --target=${{ matrix.target }} -- -D warnings
- name: Run cargo test
if: matrix.target != 'wasm32-unknown-unknown'
run: cargo test --package mutiny-core --target=${{ matrix.target }}
- name: Run cargo build
if: matrix.target != 'wasm32-unknown-unknown'
run: cargo build --all-features --package mutiny-core --target=${{ matrix.target }}
core_tests_mac:
name: Core Tests on macOS
runs-on: macos-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
target:
- x86_64-apple-darwin
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
override: true
profile: minimal
components: clippy
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-core-tests-mac-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-core-tests-mac-v2-
cargo-${{ runner.os }}-
- name: Add targets
run: rustup target add ${{ matrix.target }}
- name: Run cargo clippy
run: cargo clippy --all-features --tests --package mutiny-core --target=${{ matrix.target }} -- -D warnings
- name: Run cargo test
run: cargo test --package mutiny-core --target=${{ matrix.target }}
- name: Run cargo build
run: cargo build --all-features --package mutiny-core --target=${{ matrix.target }}
core_tests_windows:
name: Core Tests on Windows
runs-on: windows-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
target:
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
override: true
profile: minimal
components: clippy
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-core-tests-windows-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-core-tests-windows-v2-
cargo-${{ runner.os }}-
- name: Add targets
run: rustup target add ${{ matrix.target }}
- name: Run cargo clippy
run: cargo clippy --all-features --tests --package mutiny-core --target=${{ matrix.target }} -- -D warnings
- name: Run cargo test
run: cargo test --package mutiny-core --target=${{ matrix.target }}
- name: Run cargo build
run: cargo build --all-features --package mutiny-core --target=${{ matrix.target }}
check_formatting-server:
name: Check Formatting mutiny-server
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ runner.os }}-formatting-v2-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-formatting-v2-
cargo-${{ runner.os }}-
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2023-10-24
components: rustfmt
profile: minimal
- name: Check formatting
run: |
cd mutiny-server && cargo +nightly-2023-10-24 fmt -- --check
- name: Check docs
run: cd mutiny-server && cargo +nightly-2023-10-24 doc --target x86_64-unknown-linux-gnu
- name: Run cargo clippy
run: cd mutiny-server && cargo clippy --all-features --tests --target=x86_64-unknown-linux-gnu -- -D warnings