Commit graph

7 commits

Author SHA1 Message Date
torlando-tech
5feb5a9af1 ci: temporarily disable unit and integration tests
Disabling unit and integration test jobs to save GitHub Actions minutes
while troubleshooting installer test failures in Docker containers.

This reduces CI runtime from ~4-5 minutes to ~1 minute per run.

To re-enable: remove the 'if: false' lines from unit-tests and
integration-tests jobs in .github/workflows/test.yml
2025-10-29 10:18:45 -04:00
torlando-tech
d08a613ac8 feat: add Arch Linux to CI test matrix
Add comprehensive Arch Linux testing to installer-test job.

Changes to .github/workflows/test.yml:
- Add archlinux:latest to test matrix (5 OS versions tested now)
- Set continue-on-error for Arch (rolling release can expose bleeding-edge issues)
- Arch tests run in parallel with Debian/Ubuntu tests

Changes to tests/test_installer.sh:
- Refactored to be OS-agnostic (supports Debian/Ubuntu AND Arch Linux)
- Added OS type detection (apt-get vs pacman)
- Added check_package() helper function (uses dpkg or pacman based on OS)
- Conditional Debian environment setup (DEBIAN_FRONTEND only for Debian/Ubuntu)
- OS-specific package name verification:
  - Debian/Ubuntu: python3-gi, python3-dbus, python3-cairo, bluez
  - Arch Linux: python-gobject, python-dbus, python-cairo, bluez, bluez-utils
- OS-specific build tool checks (dpkg -l vs pacman -Q)
- Updated summary output to show correct packages per OS

install.sh changes:
- NONE - Arch Linux support already complete and correct!

CI Matrix now tests:
- Debian 12 (Bookworm - current stable)
- Debian Trixie (testing - next release) [non-blocking]
- Ubuntu 22.04 LTS (Jammy)
- Ubuntu 24.04 LTS (Noble)
- Arch Linux (rolling release) [non-blocking] [NEW]

Benefits:
- Validates install.sh Arch support works in practice
- Tests with newer BlueZ/Python versions (rolling release)
- Forward compatibility testing
- Broader Linux distribution coverage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 21:00:58 -04:00
torlando-tech
1aa0327bec feat: add Debian Trixie (testing) to CI test matrix
Add forward compatibility testing with Debian 13 "Trixie" (testing release).

Changes:
- Add debian:trixie to installer-test matrix
- Set continue-on-error for Trixie (testing can be unstable)
- Add fail-fast: false to run all OS tests even if one fails
- Update comments to clarify Debian/Ubuntu versions

Benefits:
- Early detection of BlueZ/DBus API changes
- Test compatibility with newer system packages
- Forward compatibility assurance before Trixie stable release
- Non-blocking (Trixie failures won't block merges)

Matrix now tests:
- Debian 12 (Bookworm - current stable)
- Debian Trixie (testing - next release) [NEW]
- Ubuntu 22.04 LTS (Jammy)
- Ubuntu 24.04 LTS (Noble)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:08:56 -04:00
torlando-tech
c3c8bdd81c fix: configure non-interactive mode for CI apt-get installs
Ubuntu 24.04 CI was hanging on tzdata interactive timezone prompt.

Changes:
- tests/test_installer.sh: Set DEBIAN_FRONTEND=noninteractive, pre-configure timezone
- tests/test_installer.sh: Add apt-get options to suppress prompts
- .github/workflows/test.yml: Set environment variables in installer-test container
- install.sh: Auto-detect CI environment and enable non-interactive mode

This follows Debian/Ubuntu best practices for containerized environments and
prevents interactive prompts from blocking CI runs.

Fixes Ubuntu 24.04 installer-test CI failure.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:05:59 -04:00
torlando-tech
7a350ec0e1 fix: use system packages to avoid compilation (fixes #4)
Strategy 1: Use pre-compiled system packages instead of building from source
- install.sh: Add python3-gi, python3-cairo to apt-get install
- install.sh: Add python-gobject, python-cairo to pacman install
- install.sh: Install only bleak and bluezero via pip (skip compiled packages)
- README.md: Update dependency instructions with system packages
- README.md: Add explanation of why system packages are preferred

Strategy 2: Add CI integration test for fresh Debian/Ubuntu systems
- tests/test_installer.sh: New integration test script
- .github/workflows/test.yml: Add installer-test job with matrix for Debian 12, Ubuntu 22.04, 24.04
- Tests reproduce real user experience and catch missing dependencies

Benefits:
- Zero compilation time (seconds vs minutes)
- No build tools needed (meson, cmake)
- No dev headers needed (libglib2.0-dev, libcairo2-dev, etc.)
- Faster installation on resource-constrained devices (Raspberry Pi)
- Prevents future dependency documentation issues

Fixes #4

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 19:59:26 -04:00
torlando-tech
93baf5c0bb fix: add system dependencies for CI 2025-10-26 23:58:36 -04:00
torlando-tech
486f210ae4 Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00