Parent: #123
Release workflow publishes new .deb files to the APT repo (L4) + GitHub Releases on every stable tag, and a Linux CI job runs the full smoke install path.
Definition of done
Publish:
- Tag push triggers a workflow job that takes the artifacts from L1, signs them, uploads them to the APT repo, and refreshes
Release/InRelease metadata.
- Same artifacts also uploaded as GitHub Release assets for direct-download fallback.
Smoke test (ubuntu-latest job, run on release-candidate tags + manual dispatch):
- Add APT source + import GPG key per the documented install instructions.
apt-get update && apt-get install fallout-agent.
- Assert the
fallout-agent system user exists and the unit is installed but not started (per L2).
systemctl start fallout-agent; assert it transitions to active (running).
- Mocked coordinator handshake — agent reaches a local stub, returns "enrolled".
apt-get purge fallout-agent; assert unit, user, and /etc/fallout-agent/ are gone.
- Job exits 0 only if all six assertions succeed.
Parent: #123
Release workflow publishes new
.debfiles to the APT repo (L4) + GitHub Releases on every stable tag, and a Linux CI job runs the full smoke install path.Definition of done
Publish:
Release/InReleasemetadata.Smoke test (
ubuntu-latestjob, run on release-candidate tags + manual dispatch):apt-get update && apt-get install fallout-agent.fallout-agentsystem user exists and the unit is installed but not started (per L2).systemctl start fallout-agent; assert it transitions toactive (running).apt-get purge fallout-agent; assert unit, user, and/etc/fallout-agent/are gone.