cyphernet 0.5.3

Cyphernet is a set of libraries for privacy-preserving networking apps
name: Build

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

jobs:
  default:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Default build
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --workspace
  features:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        feature:
          - all
          - eidolon
          - dns
          - tor
          - i2p
          - nym
          - mixnets
          - x25519
          - ed25519
          - secp256k1
          - bip340
          - sha2
          - sha3
          - blake3
          - noise_x25519,noise_secp256k1
          - noise_x25519,noise_sha2
          - noise_x25519,noise_blake3
          - pem
          - multibase
          - serde
    steps:
      - uses: actions/checkout@v2
      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Feature ${{ matrix.feature }}
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --no-default-features --features=${{ matrix.feature }}
      - name: Defaults + ${{ matrix.feature }}
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --features=${{ matrix.feature }}
  platforms:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-24.04-arm, ubuntu-latest, macos-15-intel, macos-latest, windows-11-arm, windows-latest ]
    steps:
      - uses: actions/checkout@v2
      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Build with all features
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --workspace --all-targets --all-features
  toolchains:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        toolchain: [ nightly, beta, stable, 1.69.0 ]
    steps:
      - uses: actions/checkout@v2
      - name: Install rust ${{ matrix.toolchain }}
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          override: true
      - name: All features
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --workspace --all-targets --all-features