diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index c8bfc723..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Bug report -description: File a bug report -title: "[Bug]: " -labels: ["T: Bug"] -body: - - type: markdown - attributes: - value: | - Please ensure that the bug has not already been filed in the issue tracker. - - Thanks for taking the time to report this bug! - - type: dropdown - attributes: - label: Component - description: What component is the bug in? - multiple: true - options: - - Installing bifrost - - Installing heimdall - - Heimdall CLI - - Heimdall Config - - Decompile Module - - Decompile Library - - Decode Module - - Decode Library - - Disassemble Module - - Disassemble Library - - CFG Module - - CFG Library - - Dump Module - - Dump Library - - Snapshot Module - - Snapshot Library - validations: - required: true - - type: textarea - attributes: - label: Version - description: Which version of heimdall is the bug in? (`heimdall -V`). - validations: - required: true - - type: checkboxes - attributes: - label: Please check the following - options: - - label: This is not a duplicate issue - - label: I have checked the wiki and tried troubleshooting the issue - - type: dropdown - attributes: - label: Operating System - description: What operating system are you on? - options: - - Windows - - macOS (Intel) - - macOS (Apple Silicon) - - Linux - - type: textarea - attributes: - label: Command used to produce the issue - description: For example, `heimdall decompile 0xc02...` - validations: - required: false - - type: textarea - attributes: - label: Describe the issue you are facing - description: Include all relevant information about the issue, including the steps to reproduce it, and the expected result. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 3dfc6072..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Feature -description: Request a feature to be developed -title: "[Feature]: " -labels: ["T: Feature"] -body: - - type: markdown - attributes: - value: | - Please ensure that the question has not already been asked in the issue tracker, and that the wiki won't answer it. - - Thank you! - - type: checkboxes - attributes: - label: Please check the following - options: - - label: This is not a duplicate request - - label: I have checked that this is not in development - - type: textarea - attributes: - label: Type a detailed explanation of your feature request here. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/improvement_request.yml b/.github/ISSUE_TEMPLATE/improvement_request.yml deleted file mode 100644 index a52bbcda..00000000 --- a/.github/ISSUE_TEMPLATE/improvement_request.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Improvement -description: Request an improvement to an existing feature -title: "[Improvement]: " -labels: ["T: Improvement"] -body: - - type: markdown - attributes: - value: | - Please ensure this has not already been addressed in the issue tracker. - - Thank you! - - type: checkboxes - attributes: - label: Please check the following - options: - - label: This is not a duplicate request - - label: I have checked that this is not in development - - type: textarea - attributes: - label: Type a detailed explanation of your improvement request here. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml deleted file mode 100644 index 274279dd..00000000 --- a/.github/ISSUE_TEMPLATE/question.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Question -description: Ask a general question about Heimdall -title: "[Question]: " -labels: ["T: Question"] -body: - - type: markdown - attributes: - value: | - Please ensure that the question has not already been asked in the issue tracker, and that the wiki won't answer it. - - Thank you! - - type: textarea - attributes: - label: Version - description: Which version of heimdall does your question relate to? (`heimdall -V`). - validations: - required: true - - type: checkboxes - attributes: - label: Please check the following - options: - - label: This is not a duplicate question - - label: I have checked the wiki beforehand - - type: dropdown - attributes: - label: Operating System - description: What operating system are you on? - options: - - Windows - - macOS (Intel) - - macOS (Apple Silicon) - - Linux - - type: textarea - attributes: - label: Ask your question here - validations: - required: true diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml deleted file mode 100644 index 7e6a1684..00000000 --- a/.github/workflows/clippy.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Clippy (On Push) - -on: [pull_request] -jobs: - clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - with: - components: clippy - - uses: giraffate/clippy-action@v1 - with: - reporter: "github-pr-review" - github_token: ${{ secrets.GITHUB_TOKEN }} - clippy_flags: "-- --allow clippy::new_without_default --allow clippy::redundant_field_names --allow clippy::too_many_arguments --allow clippy::format_in_format_args --allow clippy::should_implement_trait" - filter_mode: nofilter diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml deleted file mode 100644 index 3ad68a5d..00000000 --- a/.github/workflows/pr.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Unit Tests (On Pull Request) - -on: - pull_request_review: - types: [submitted] - -env: - CARGO_TERM_COLOR: always - -jobs: - test: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Build Binaries - run: | - cargo clean - cargo build --verbose - - - name: Run Tests - run: | - cargo test --package heimdall-cli -- test_ --nocapture - cargo test --package heimdall-core -- test_ --nocapture - cargo test --package heimdall-config -- test_ --nocapture - cargo test --package heimdall-common -- test_ --nocapture diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 519f3357..98054927 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,16 +1,74 @@ -name: Unit Tests (On Push) +name: test -on: [push] +on: + push: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true env: - CARGO_TERM_COLOR: always + CARGO_TERM_COLOR: always jobs: - test: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Run Tests - run: | - cargo test --release -- test_ --nocapture + test: + name: test ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + - os: macos-latest + + steps: + - uses: actions/checkout@v3 + - name: Run Tests + run: | + cargo test --release -- test_ --nocapture + + doctest: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - run: cargo test --workspace --doc + + clippy: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy + - uses: giraffate/clippy-action@v1 + with: + reporter: "github-pr-review" + github_token: ${{ secrets.GITHUB_TOKEN }} + clippy_flags: "-- --allow clippy::new_without_default --allow clippy::redundant_field_names --allow clippy::too_many_arguments --allow clippy::format_in_format_args --allow clippy::should_implement_trait" + filter_mode: nofilter + + rustfmt: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - run: cargo fmt --check --all + + check: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustc + - run: cargo check --workspace --all-targets --all-features diff --git a/preview.png b/preview.png index 525dc730..652465aa 100644 Binary files a/preview.png and b/preview.png differ