multi-key 1.0.6

Multikey self-describing cryptographic key data
name: Rust 

on:
  workflow_dispatch:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    strategy:
      matrix:
        include:
          # Linux (32-bit)
          - target: i686-unknown-linux-gnu
            platform: ubuntu-latest
            rust: stable
            deps: sudo apt update && sudo apt install gcc-multilib

          # macOS (64-bit)
          - target: x86_64-apple-darwin
            platform: macos-latest
            rust: stable

          # Windows (64-bit)
          - target: x86_64-pc-windows-msvc
            platform: windows-latest
            rust: stable
    runs-on: ${{ matrix.platform }}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ matrix.rust }}
          target: ${{ matrix.target }}
      - run: ${{ matrix.deps }}
      - run: cargo build --target ${{ matrix.target }} --release --all-features

  wasm_builds:
      runs-on: ubuntu-latest
      strategy:
        matrix:
          rust:
            - 1.73.0 # MSRV
            - stable
          target:
            - wasm32-wasi
            - wasm32-unknown-unknown
      steps:
        - uses: actions/checkout@v4
        - uses: dtolnay/rust-toolchain@stable
          with:
            toolchain: ${{ matrix.rust }}
            target: ${{ matrix.target }}
        - run: cargo build --target ${{ matrix.target }} --features wasm

  test:
      runs-on: ubuntu-latest
      strategy:
        matrix:
          rust:
            - 1.73.0 # MSRV
            - stable
      steps:
        - uses: actions/checkout@v4
        - uses: dtolnay/rust-toolchain@stable
          with:
            toolchain: ${{ matrix.rust }}
        - run: cargo test --verbose --release
        - run: cargo test --all-features # debug build
        - run: cargo test --release --all-features --all-targets