From fa05a5f8238e9e1417235711656e5062ccc843a7 Mon Sep 17 00:00:00 2001 From: "info@mode42.com" Date: Fri, 7 Aug 2026 18:23:28 +0000 Subject: Initial push --- .github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature_request.md | 22 ++++++++++++++++++ .github/pull_request_template.md | 37 ++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 30 ++++++++++++++++++++++++ 5 files changed, 128 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/ci.yml (limited to '.github') diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..5cfc7ab --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Something does not work as documented or expected +title: "[bug] " +labels: bug +--- + +## What happened? + +## What did you expect? + +## Steps to reproduce + +1. +2. +3. + +## Environment + +- MainAX25 version / commit: +- OS: +- Hardware: TNC2C / BayCom SER12 / CRDOP / other +- Operating mode: standalone / hybbx-host / service +- Config (relevant paths or INI sections only, no secrets): + +## Logs / output + +``` +(paste here) +``` + +## Documentation checked + +- [ ] [README.md](../../README.md) +- [ ] [docs/README.md](../../docs/README.md) +- [ ] [docs/DEVELOPMENT.md](../../docs/DEVELOPMENT.md) +- [ ] [docs/HYBBX.md](../../docs/HYBBX.md) +- [ ] [docs/PLATFORMS.md](../../docs/PLATFORMS.md) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..0086358 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..eedec4c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,22 @@ +--- +name: Feature request +about: Suggest a new capability or improvement +title: "[feature] " +labels: enhancement +--- + +## Problem / use case + +## Proposed solution + +## Alternatives considered + +## Fits MainAX25 model? + +- [ ] Standalone-first stack; HyBBX attaches after prep ([docs/HYBBX.md](../../docs/HYBBX.md)) +- [ ] Plugin fits operating mode → Hardware → Device hierarchy ([docs/ARCHITECTURE.md](../../docs/ARCHITECTURE.md)) +- [ ] Linux-primary / BSD-later platform stance ([docs/PLATFORMS.md](../../docs/PLATFORMS.md)) + +## Documentation + +Should update plugin.yaml / HYBBX INI when implemented: yes / no diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..57f4469 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,37 @@ +## Summary + + + +## Type + +- [ ] Bug fix +- [ ] Feature +- [ ] Documentation +- [ ] Refactor / internal +- [ ] Build / CI +- [ ] Plugin / stack integration + +## Testing + +- [ ] `./scripts/build.sh` succeeds +- [ ] `./scripts/test.sh` succeeds (offline) +- [ ] `./scripts/release-check.sh` succeeds +- [ ] Manual hardware verification (if TNC/modem/RF touched): + +## Documentation + +- [ ] Updated `plugins/manifest.yaml` and/or `plugins/**/plugin.yaml` (if plugin changed) +- [ ] Updated [docs/README.md](../docs/README.md) index (if docs added/removed) +- [ ] Updated [docs/HYBBX.md](../docs/HYBBX.md) and/or `share/hybbx/*.ini.example` (if HyBBX attach changed) +- [ ] Updated [docs/PLATFORMS.md](../docs/PLATFORMS.md) (if platform limits changed) +- [ ] Updated [docs/V1.0.0-SCOPE.md](../docs/V1.0.0-SCOPE.md) (if v1 scope changed) + +## Architecture + +- [ ] Standalone-first: MAX25 owns TNC/modem lifecycle, not HyBBX sessions +- [ ] Plugin hierarchy unchanged or documented ([docs/ARCHITECTURE.md](../docs/ARCHITECTURE.md)) +- [ ] HyBBX remains external consumer — no vendoring hyBBX + +## Notes + + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b77de00 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,30 @@ +name: CI + +on: + push: + branches: [main, preview-source-tree] + pull_request: + branches: [main, preview-source-tree] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Install build tools + run: | + sudo apt-get update + sudo apt-get install -y build-essential cmake libasound2-dev pkg-config libncurses-dev + + - name: Configure + run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DMAX25_BUNDLE_AX25=OFF + + - name: Build merged stacks + run: cmake --build build -j$(nproc) + + - name: Offline tests + run: cmake --build build --target max25_test + + - name: Release gates + run: bash scripts/release-check.sh -- cgit v1.3.1