56a2dc372a601862462500a938eb0dcf4ae111d7
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fe3ef7f25e |
fix(ci): pin deb builds to ubuntu-22.04 and enforce the fleet glibc floor (#41)
Build Debian Packages / Build .deb for x86_64-unknown-linux-gnu (push) Has been cancelled
Build Debian Packages / Build .deb for aarch64-unknown-linux-gnu (push) Has been cancelled
Build Debian Packages / Build .deb for armv7-unknown-linux-gnueabihf (push) Has been cancelled
Build Debian Packages / Build .deb for riscv64gc-unknown-linux-gnu (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
Build Debian Packages / Combine all .deb packages (push) Has been cancelled
Build Debian Packages / Publish to APT Repository (push) Has been cancelled
Build Debian Packages / Create GitHub Release (push) Has been cancelled
* fix(ci): pin deb builds to ubuntu-22.04 and enforce the fleet glibc floor The v1.60.0 debs failed to install on Raspberry Pi OS bookworm: socktop : Depends: libc6 (>= 2.39) but 2.36-9+rpt2+deb12u14 is to be installed Cross-compiled binaries link against the RUNNER's (multiarch) glibc, so the runner picks the minimum glibc the packages demand. ubuntu-latest migrated from 22.04 (glibc 2.35) to 24.04 (glibc 2.39) between the 1.50.x releases and now, silently raising the requirement past the Debian-12 fleet. Pin the build job to ubuntu-22.04 (2.35 — satisfied by bookworm's 2.36) and add a post-build gate that reads each .deb's computed libc6 requirement and fails the run if it exceeds the fleet floor, so the next runner migration turns into a red build instead of a fleet-wide apt error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ci): extract the libc6 version, not the 6 in 'libc6' The floor gate's second grep matched the trailing digit of the package name before the version ('libc6 (>= 2.34)' -> '6'), failing every target. sed capture group instead; verified against realistic Depends strings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump all crates to 1.60.1 The 1.60.0 debs were built against glibc 2.39 and never installed on the bookworm fleet; rather than force-moving the tag, the rebuilt release ships as 1.60.1. Nothing was published to crates.io at 1.60.0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
ee4468ca23 |
Add Debian packaging support for socktop-agent (#25)
* Add Debian packaging support with cargo-deb - Add cargo-deb metadata to socktop and socktop_agent Cargo.toml - Create systemd service file for socktop_agent - Add postinst/postrm maintainer scripts for user/group management - Create GitHub Actions workflow to build .deb packages for AMD64 and ARM64 - Add comprehensive documentation in docs/DEBIAN_PACKAGING.md - Packages will be available as artifacts on every push - Automatic GitHub releases for version tags * Add summary documentation for debian packaging * fix unit test, move to macro cargo_bin! * hotfix for issue with socktop agent not creating ssl certificate on first launch after upgrade of axum server version. * Add helpful post-install message to guide users on enabling socktop-agent service * Fix CI build by installing libdrm development dependencies * Fix package rename script - cargo-deb already includes architecture in filename * Make GPU support optional to enable RISC-V builds without libdrm - Add 'gpu' feature flag (enabled by default) - Make gfxinfo dependency optional - Provide no-op GPU metrics when gpu feature disabled - Disable GPU support for RISC-V builds in CI (libdrm unavailable) - All other architectures (amd64, arm64, armhf) still get GPU support * feature gate GPU stats for arm v7 * specify correct package names. * install aarch64-linux-gnu-gcc build dep * specify correct package name * add RISC-V GCC compiler * add .cargo to gitignore to elimicate issue with riscv64-linux-gnu-gcc linker in config.toml * add gcc-arm-linux-gnueabihf linker fore armv7 * set correct x-compile lib gcc-aarch64-linux-gnu for arm64 builds. * add ports.ubuntu.com to sources * Add ARM64 as a foreign architecture * fixe for ARM64 build. * security.ubuntu.com` aNNOYING * apt repo github page * copy output to apt repo * fix secrets path * fix secrets path * change build dep * Fix postinst message box alignment * ci(deb): restrict APT publish to v* release tags Previously the workflow built and published on every push to master and feature/debian-packaging in addition to v* tags. That meant the gh-pages APT repo got overwritten on every commit with same-version .debs, causing apt clients to see a phantom "update available" each time and burning ~5-10 min of cross-compile CI per merge. After this change: - PRs into master still cross-build .debs as a sanity check. - v* tags build, publish to gh-pages, and create a GitHub release. - workflow_dispatch remains as the manual escape hatch. - master pushes no longer trigger this workflow (ci.yml still runs). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |