heretek 0.6.0

GDB TUI Dashboard for the understanding of vast knowledge
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

name: ci

jobs:
  # build all supported targets
  build-stable:
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        targets:
          - x86_64-unknown-linux-musl
        toolchain:
          - stable

    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
      - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c # master
        with:
          toolchain: ${{ matrix.toolchain }}
          target: ${{ matrix.targets }}
      - run: cargo install cross --git https://github.com/cross-rs/cross --force
      - run: cross build --locked --workspace --target ${{ matrix.targets }}

  # test on native
  test-stable:
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        toolchain:
          - stable

    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
      - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c # master
        with:
          toolchain: ${{ matrix.toolchain }}
      - run: |
         sudo apt-get update
         sudo apt-get install -y gdb
      - run: cargo test --target x86_64-unknown-linux-gnu

  # fmt and clippy on nightly builds
  fmt-clippy-nightly:
    runs-on: ubuntu-24.04

    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
      - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c # master
        with:
          toolchain: nightly
          target: x86_64-unknown-linux-musl
          components: rustfmt, clippy
      - run: cargo fmt --all --check
      # - run: cross clippy --target x86_64-unknown-linux-gnu --workspace -- -D warnings