Files
bluehound/.gitea/workflows/ci.yaml
T
Robert Goodall ae81bd8264
CI / validate (push) Successful in 17s
Add CI workflow
2026-07-29 23:06:56 -04:00

47 lines
1.4 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# bluehound is macOS-only (CoreBluetooth/IOBluetooth + prebuilt macOS
# libsimpleble.a), and the only runner is linux, so this job validates
# sources rather than compiling the binary.
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y cppcheck shellcheck python3
- name: Check required files exist
run: |
set -e
for f in bluehound.cpp classic_bluetooth.mm classic_bluetooth.h \
CMakeLists.txt build.sh serve_dashboard.py \
web_dashboard.html third_party/httplib.h \
simpleble/simpleble/build/lib/libsimpleble.a; do
[ -e "$f" ] || { echo "missing: $f"; exit 1; }
done
echo "all required files present"
- name: Validate Python
run: python3 -m py_compile serve_dashboard.py
# report-only: surfaces findings without gating an unformatted codebase
- name: Static analysis (report-only)
run: |
cppcheck --enable=warning,performance,portability --std=c++17 \
--suppress=missingIncludeSystem bluehound.cpp classic_bluetooth.h || true
- name: Lint shell scripts (report-only)
run: shellcheck build.sh || true