adc 0.2.1

Rust implementation of the Apple Data Compression scheme used in DMG images.
Documentation
name: Build and Test
on: [push, pull_request]

jobs:
  test:
    name: Test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build: [stable, beta, nightly, macos, win32, win64]
        include:
          - build: stable
            os: ubuntu-latest
            rust: stable
          - build: beta
            os: ubuntu-latest
            rust: beta
          - build: nightly
            os: ubuntu-latest
            rust: nightly
          - build: macos
            os: macos-latest
            rust: stable
          - build: win32
            os: windows-latest
            rust: stable-i686-msvc
          - build: win64
            os: windows-latest
            rust: stable-x86_64-msvc
          - build: win32-gnu
            os: windows-latest
            rust: stable-i686-gnu
          - build: win64-gnu
            os: windows-latest
            rust: stable-x86_64-gnu
    steps:
    - uses: actions/checkout@main
      with:
        submodules: true
    - name: Install Rust (rustup)
      run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
      shell: bash
    - name: Run Cargo Test
      run: cargo test
    - name: Build release binary
      run: cargo build --release

  rustfmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@main
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          override: true
          components: rustfmt
    - uses: actions-rs/cargo@v1
      with:
        command: fmt
        args: --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@main
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          override: true
          components: clippy
    - uses: actions-rs/cargo@v1
      with:
        command: clippy