76 lines
2.1 KiB
Markdown
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*
|