chore: prepare v0.6.0 release

This commit is contained in:
xavierk
2026-09-29 03:51:35 +05:30
parent a49808a247
commit 917c94fd65
5 changed files with 20 additions and 5 deletions
+3 -1
View File
@@ -327,9 +327,11 @@ jobs:
# Add XBPS artifacts if they exist
XBPS_FILE="fenris-${VERSION}_1.x86_64.xbps"
if [ -f "${XBPS_FILE}" ]; then
ARTIFACTS+=("${XBPS_FILE}")
if [ -f "${XBPS_FILE}.sig2" ]; then
ARTIFACTS+=("${XBPS_FILE}")
ARTIFACTS+=("${XBPS_FILE}.sig2")
else
echo "::warning::Unsigned XBPS artifact omitted from release assets"
fi
fi
for FILE in "${ARTIFACTS[@]}"; do
+13
View File
@@ -9,6 +9,19 @@ backfill releases from before this changelog.
## [Unreleased]
## [0.6.0] - 2026-09-29
### Added
- Preserve local-day read and write evidence separately, including ambiguous midnight-spanning volume as shared evidence instead of assigning it to either day.
- Keep valid observations pending when publication fails, and recover them without exposing partial history or counting activity twice.
- Preserve live-point inspection and historical activity selection through graph refresh.
### Changed
- Prune old detail only after durable summaries and required boundary evidence are published.
- Require a complete local day to fit within one monitoring period before it can open the endurance outlook.
## [0.5.0] - 2026-09-19
### Changed
+1 -1
View File
@@ -22,7 +22,7 @@ The Gitea instance Debian registry signs metadata with its own key. Verify the
instance key fingerprint (TOFU hardening):
```text
Fingerprint: <print after first release — paste beside the curl one-liner>
Fingerprint: F937E81D2FB0736B15BC611884BEBD586DFAC010
```
Add the instance key and repository:
+2 -2
View File
@@ -53,9 +53,9 @@
- **A Release is:** a version tag, its packages in the channel, a Gitea release entry with notes, and a clearsigned SHA256SUMS — all together. **Bare tags are forbidden** (tag without packages + release entry is not a Release).
- **Cadence: on-demand.** Tag when user-visible changes or fixes accumulate; no calendar, no empty releases, no frequency SLA, no RC ceremony — fixes ship as a revision bump of the current version.
- **Versioning: plain semver.** Major = breaking CLI/config/unit change; store schema changes ride the natural bump (the forward-only refusal handles old-reader/new-store).
- **Promotion flow:** tag → `make release` (automated: `make package` → RPM signing via nfpm → SHA256SUMS generation → clearsign → prints registry PUTs + Gitea release steps). The ceremony is documented in `docs/install/signing-key-ceremony.md`.
- **Promotion flow:** bump `pyproject.toml` and the matching dated `CHANGELOG.md` section, then push tag `v<version>`. The repository-scoped Gitea Actions workflow builds and validates the deb, rpm, checksums, and release entry. XBPS publication remains a manual dispatch option after host acceptance. `make release` remains the local package/sign/checksum fallback. The ceremony is documented in `docs/install/signing-key-ceremony.md`.
- **Rollback:** installing an older package over a newer store is **unsupported** — the store's forward-only version refusal fails it by design. Documented rollback = restore the observation-store snapshot, then install the old Release. No automatic downgrade machinery exists or will be built.
- **CI:** no runners are registered on the instance today ([Actions runner research](https://git.bongbetic.com/xavierk/Fenris/issues/37)), so the manual flow above is primary. A dormant `.gitea/workflows/release.yml` (`on: push: tags: ['v*']`, single job, host-mode runner) is committed alongside; if it fires, it replicates `make release`. Cheapest future upgrade: one `act_runner` static binary in host-label mode on the existing Gitea host.
- **CI:** a repository-scoped self-hosted runner is registered and online (checked 2026-09-29). `.gitea/workflows/release.yml` is the tag-triggered release path; maintainers must confirm runner availability and required Gitea secrets before tagging. The workflow publishes deb/rpm packages and release assets; Void publication is withheld unless the signed XBPS host-release step is explicitly requested.
## 6. Package layout and ownership
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "fenris"
version = "0.5.0"
version = "0.6.0"
description = "NVMe wear monitor with persistent TUI"
requires-python = ">=3.10"
license = {file = "LICENSE"}