msd 0.4.0

A library for reading and writing MSD files.
Documentation
name: CI

on:
  push:
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - 1.58.0
          - stable
          - beta
          - nightly
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ matrix.rust }}
        override: true
    - uses: actions-rs/cargo@v1
      with:
        command: test

  fmt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
        components: rustfmt
    - uses: actions-rs/cargo@v1
      with:
        command: fmt
        args: -- --check

  check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
    - uses: actions-rs/cargo@v1
      with:
        command: check

  clippy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
        components: clippy
    - uses: actions-rs/cargo@v1
      with:
        command: clippy
        args: -- -D warnings

  doc:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
    - uses: actions-rs/cargo@v1
      with:
        command: doc
        args: --no-deps
      env:
        RUSTDOCFLAGS: -D warnings

  codecov:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
        components: llvm-tools-preview
    - uses: actions-rs/install@v0.1
      with:
        crate: cargo-llvm-cov
    - uses: actions-rs/cargo@v1
      with:
        command: llvm-cov
        args: --lcov --output-path lcov.info
    - uses: codecov/codecov-action@v2
      with:
        files: lcov.info
        fail_ci_if_error: true