bls_bulletproofs 1.1.1

A pure-Rust implementation of Bulletproofs using Ristretto
Documentation
# At the moment, udeps and clippy are disabled on this repository.
# Resolving the problems will require knowledge of the library or significant time to investigate.
name: PR

on: pull_request

env:
  RUST_BACKTRACE: 1
  RUSTFLAGS: "-D warnings"

jobs:
  checks:
    if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    name: Checks
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust and required components
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt, clippy
      - name: Cargo cache registry, index and build
        uses: actions/cache@v2.1.4
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }}
      - name: Check formatting
        run: cargo fmt --all -- --check
      # Re-enable when all the clippy warnings have been fixed.
      #- name: Clippy checks
        #run: cargo clippy --all-targets
      - name: install ripgrep
        run: cargo install ripgrep
      - uses: maidsafe/verify-licensing-info@main
        name: verify licensing
        with:
          company-name: MaidSafe

  build:
    if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    name: Build
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Cargo cache registry, index and build
        uses: actions/cache@v2.1.4
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }}

      - name: Run cargo build
        run: cargo build --release

  test:
    if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    name: Test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Cargo cache registry, index and build
        uses: actions/cache@v2.1.4
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }}

      - name: Run cargo test
        run: cargo test --release
  
  # Re-enable when warnings regarding the use of a deprecated function have been fixed.
  #cargo-udeps:
    #if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    #name: Unused dependency check
    #runs-on: ubuntu-latest
    #steps:
      #- uses: actions/checkout@v2
      #- uses: actions-rs/toolchain@v1
        #with:
          #toolchain: nightly
          #override: true

      #- name: Run cargo-udeps
        #uses: aig787/cargo-udeps-action@v1
        #with:
          #version: 'latest'
          #args: '--all-targets'

  cargo-deny:
    if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - shell: bash
      run: wget https://raw.githubusercontent.com/maidsafe/QA/master/misc-scripts/deny.toml

    - uses: EmbarkStudios/cargo-deny-action@v1
  
  test-publish:
    if: "!startsWith(github.event.pull_request.title, 'Automated version bump')"
    name: Test Publish
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Test publish
        run: cargo publish --dry-run --allow-dirty