Skip to content

chore(ggml-spanker): polish bundle (5 deferred MEDIUM/LOW from PR #15) #25

chore(ggml-spanker): polish bundle (5 deferred MEDIUM/LOW from PR #15)

chore(ggml-spanker): polish bundle (5 deferred MEDIUM/LOW from PR #15) #25

Workflow file for this run

# SPDX-License-Identifier: CC-BY-SA-4.0
name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
docs-lint:
name: Docs / SPDX sanity
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Verify SPDX headers on docs
run: |
shopt -s globstar
for f in **/*.md; do
[ -f "$f" ] || continue
grep -q "SPDX-License-Identifier" "$f" || { echo "$f missing SPDX header" ; exit 1; }
done
driver-build:
name: Driver / kbuild
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install kernel headers and build tools
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
linux-headers-$(uname -r) build-essential
- name: Build spanker.ko (out-of-tree)
run: make -C src/driver
- name: Verify module metadata
run: |
modinfo src/driver/spanker.ko \
| grep -E '^(license|description|version|alias):'
# Sanity: license must be GPL per ADR-002.
modinfo src/driver/spanker.ko | grep -q '^license:.*GPL'
- name: Clean
run: make -C src/driver clean
runtime-build:
name: Runtime / cargo
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
# ggml-spanker's build.rs runs bindgen over the in-tree
# spanker UAPI header. The GGML submodule itself is also
# pinned for forthcoming Q4_K layout cross-checks, so
# initialise submodules recursively.
submodules: recursive
- name: Install libclang for bindgen
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends libclang-dev
- name: Install Rust toolchain (MSRV per ADR-001)
uses: dtolnay/rust-toolchain@1.75.0
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- name: Build workspace
run: cargo build --workspace --all-targets
- name: Test workspace
run: cargo test --workspace --all-targets
- name: Clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- name: Rustfmt
run: cargo fmt --check --all