dearxan 0.5.5

Static analyzer and patcher for the Arxan anti-debug/DRM as found in FromSoftware titles
Documentation
name: Checks
on:
  push:
    branches: [dev]
  pull_request:

jobs:
  clippy:
    name: cargo clippy

    runs-on: windows-latest
    env:
      RUSTFLAGS: "-Dwarnings"
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: clippy
      - run: cargo clippy --workspace --all-targets --all-features

  rustfmt:
    name: cargo fmt

    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt
      - run: cargo fmt --check --all

  rustdoc:
    name: cargo doc

    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      - run: cargo doc --all-features

  test_stable:
    name: build and test dearxan library on stable

    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo test -p dearxan --all-features
  
  test_nightly:
    name: build and test all utilities on nightly

    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      - run: cargo test --workspace --all-features


  all_checks_pass:
      needs:
        - rustfmt
        - rustdoc
        - clippy
        - test_stable
        - test_nightly

      runs-on: ubuntu-latest
      steps:
      - name: Decide whether the needed jobs succeeded or failed
        uses: re-actors/alls-green@release/v1
        with:
          jobs: ${{ toJSON(needs) }}