Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: KAB tests

on: pull_request

jobs:
basic-tests:
runs-on: ubuntu-latest
container: docker.io/fedora:latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Format Check
run: |
dnf install make shfmt -yq
make format-check

- name: Static Analysis
run: |
dnf install shellcheck -yq
make static-analysis

- name: Unit Tests
run: |
dnf install git -yq
curl -L -O https://github.com/shellspec/shellspec/archive/latest.tar.gz && tar -xzf latest.tar.gz
cd shellspec-latest && sudo make install
cd ..
make unit-tests

integration-tests:
runs-on: ubuntu-latest
steps:
- name: Schedule test on Testing Farm
uses: sclorg/testing-farm-as-github-action@v4
with:
api_key: ${{ secrets.TF_API_KEY }}
compose: Fedora-43
# Avoid using xen guests as some machines don't support kdump
tmt_hardware: '{"virtualization.hypervisor": "!= xen"}'
pipeline_settings: '{"type": "tmt-multihost"}'
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.gemini/
gha-creds-*.json
.worktrees/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Edit `/usr/local/bin/kernel-auto-bisect/bisect.conf` after installation.
| `GIT_REPO_URL` | URL of the kernel git repository to clone |
| `GIT_REPO_BRANCH` | Branch to clone |
| `LOCAL_GIT_REPO` | Path to a local Linux git repo (skips cloning when set) |
| `GOOD_COMMIT` | Git commit hash of the known-good commit |
| `GOOD_COMMIT` | Git commit hash of the known-good commit (optional; auto-discovered if omitted) |
| `BAD_COMMIT` | Git commit hash of the known-bad commit |
| `MAKE_JOBS` | Number of parallel make jobs (defaults to `nproc`) |

Expand All @@ -88,7 +88,7 @@ Edit `/usr/local/bin/kernel-auto-bisect/bisect.conf` after installation.
|---|---|
| `KERNEL_RPM_LIST` | Path to a file listing kernel RPM URLs, one per line (ordered from good to bad) |
| `RPM_CACHE_DIR` | Directory to cache downloaded RPMs |
| `GOOD_COMMIT` | Kernel release string of the known-good version (e.g. `5.14.0-162.el9.aarch64`) |
| `GOOD_COMMIT` | Kernel release string of the known-good version (optional; auto-discovered if omitted) |
| `BAD_COMMIT` | Kernel release string of the known-bad version |

### Remote Mode
Expand Down
8 changes: 5 additions & 3 deletions bisect.conf
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,12 @@ KERNEL_RPM_LIST="/path/to/your/kernel_rpm_list.txt"
RPM_CACHE_DIR="/var/cache/kdump-bisect-rpms"

# === Commit/Version Boundaries ===
# If INSTALL_STRATEGY="git", these are git commit hashes.
# If INSTALL_STRATEGY="rpm", these are kernel release versions (e.g., "5.14.0-162.el9.aarch64").
GOOD_COMMIT="<paste_good_commit_or_version_here>"
# BAD_COMMIT (required): The known-bad commit hash or kernel release version.
# GOOD_COMMIT (optional): The known-good commit hash or kernel release version.
# If omitted, the tool auto-discovers a good commit by exponential search
# backward through history (testing commits at ~1, ~2, ~4, ~8, ...).
BAD_COMMIT="<paste_bad_commit_or_version_here>"
GOOD_COMMIT=""

# === Reproducer Script ===
# For 'panic' mode, must contain setup_test() and on_test().
Expand Down
Loading
Loading