dmgwiz 1.1.0

Extract filesystem data from DMG files
Documentation
name: CI
on: [push, pull_request]

jobs:
  test:
    name: Run Tests and Build
    continue-on-error: true
    strategy:
      matrix:
        build: [stable, beta, nightly, macos-x86, macos-arm64, 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-x86
            os: macos-13
            rust: stable
          - build: macos-arm64
            os: macos-latest
            rust: stable
          - build: win64
            os: windows-latest
            rust: stable-x86_64-msvc
          # win32 build seems to be broken atm
          # - build: win32
          #   os: windows-2016
          #   rust: stable-i686-msvc
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@main
      with:
        submodules: true
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
          toolchain: ${{ matrix.rust }}
          override: true
    - name: Use strawberry perl
      if: startsWith(matrix.os, 'windows')
      run: echo "name=OPENSSL_SRC_PERL::C:/Strawberry/perl/bin/perl" >> $GITHUB_ENV
      shell: bash
    - name: Test Perl (Windows)
      run: |
        Get-Command perl
        perl -v
      if: startsWith(matrix.os, 'windows')

    - name: Test without default features
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --no-default-features
    - name: Test with default features
      uses: actions-rs/cargo@v1
      with:
        command: test

    - name: Build release binary
      if: startsWith(matrix.rust, 'stable')
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --release
    - name: Delete intermediate files
      if: startsWith(matrix.rust, 'stable')
      run: rm -rf ./target/release/{build,deps,incremental}
      shell: bash
    - name: Upload artifacts
      if: startsWith(matrix.rust, 'stable')
      uses: actions/upload-artifact@v4
      with:
        name: dmgwiz_release_${{ matrix.build }}
        path: ./target/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