easyrand 0.4.0

Simpler to use random number library for the Rust language
Documentation
name: Test

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    strategy:
      matrix:
        rust-version:
          - '1.48.0'
          - 'stable'
          - 'nightly'
        os:
          - ubuntu-latest
          - macOS-latest
          - windows-latest

    name: Test on ${{ matrix.os }} (Rust ${{ matrix.rust-version }})
    runs-on: ${{ matrix.os }}

    steps:
    - uses: actions/checkout@v2

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ matrix.rust-version }}
        # Override means it is used by subsequent steps
        override: true
        components: rustfmt, clippy

    - name: Enable coverage on nightly
      # Requires nightly for now
      if: startsWith(matrix.rust-version, 'nightly') && startsWith(matrix.os, 'ubuntu')
      # Convoluted setting of env variables because
      # https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
      run: |
        echo 'CARGO_INCREMENTAL=0' >> $GITHUB_ENV
        echo 'RUSTFLAGS=-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort' >> $GITHUB_ENV
        echo 'RUSTDOCFLAGS=-Cpanic=abort' >> $GITHUB_ENV

    - name: Build
      uses: actions-rs/cargo@v1
      with:
        command: build

    - name: Run tests
      uses: actions-rs/cargo@v1
      with:
        command: test

    - name: Clippy linter
      uses: actions-rs/cargo@v1
      with:
        command: clippy

    - name: Coverage report
      uses: actions-rs/grcov@v0.1
      # Only only nightly
      if: startsWith(matrix.rust-version, 'nightly') && startsWith(matrix.os, 'ubuntu')
    - uses: codecov/codecov-action@v1