composite_modulus_proofs 0.1.0

Proofs about several propoerties of a composite modulus - square-free, product of 2 primes, a blum integer
Documentation
name: Rust

on:
  push:
    branches:
      - master
  pull_request: {}

jobs:
  formatting:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          override: true
          components: rustfmt
      - name: Ensure Standard Formatting
        run: cargo fmt -- --check

  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Ensure docs are buildable
        run: cargo doc --no-deps
      - name: Build
        run: cargo build

  build-no-std:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Build without default features
        run: cargo build --no-default-features

  build-wasm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Install WASM
        run: rustup target add wasm32-unknown-unknown
      - name: Build for WASM target
        run: cargo build --no-default-features --target wasm32-unknown-unknown

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Run tests
        run: cargo test --release --all --no-fail-fast