Files
Zachary D. Rowitsch ea9c038f44 docs(quick-260322-b03): complete build + packaging CI plan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 07:59:36 -04:00

76 lines
2.1 KiB
Markdown

---
phase: quick
plan: 260322-b03
subsystem: infra
tags: [ci, gitea-actions, packaging, deb, rpm]
provides:
- Gitea Actions CI workflow for automated build and packaging
affects: []
tech-stack:
added: [gitea-actions, cargo-deb, cargo-generate-rpm]
patterns: [ci-pipeline-with-ebpf-build]
key-files:
created:
- .gitea/workflows/build.yml
modified: []
key-decisions:
- "Cache cargo bin directory to skip bpf-linker/cargo-deb reinstall on subsequent runs"
- "Use --no-build flag for cargo deb since release binary is already compiled"
requirements-completed: []
duration: 1min
completed: 2026-03-22
---
# Quick Task 260322-b03: Build & Package CI Summary
**Gitea Actions workflow that builds tcptop with eBPF, then produces .deb and .rpm packages on every push**
## Performance
- **Duration:** 1 min
- **Started:** 2026-03-22T11:57:48Z
- **Completed:** 2026-03-22T11:58:47Z
- **Tasks:** 1
- **Files created:** 1
## Accomplishments
- Created complete CI pipeline: system deps, Rust nightly toolchain, bpf-linker, release build, .deb, .rpm
- Cargo caching for registry, git, binaries, and target directory to speed up subsequent runs
- Conditional tool installation (skip if already cached) for bpf-linker, cargo-deb, cargo-generate-rpm
- Comments throughout explaining why each system dependency is needed
## Task Commits
1. **Task 1: Create Gitea Actions workflow for build + packaging** - `6aae5ad` (feat)
## Files Created/Modified
- `.gitea/workflows/build.yml` - Full CI pipeline: checkout, system deps, Rust install, eBPF build, packaging
## Decisions Made
- Cached `~/.cargo/bin/` alongside registry and target to avoid reinstalling bpf-linker (slow compile) on every run
- Used conditional `command -v` checks before cargo install steps so cache hits skip reinstallation
- Used `--no-build` flag on `cargo deb` since the release binary is already built in a prior step
- Added TODO comment for artifact upload action since availability varies across Gitea instances
## Deviations from Plan
None - plan executed exactly as written.
## Issues Encountered
None.
## Known Stubs
None.
---
*Quick task: 260322-b03*
*Completed: 2026-03-22*