1 control panel service build invalidation and log normalization
forgejo-actions edited this page 2026-07-13 19:45:35 +00:00

Control Panel Service Build Invalidation And Log Normalization

Control Panel build invalidation decides whether a service binary needs rebuilding before launch, while log normalization makes service output readable in the panel.

Purpose

Use this page when the panel skips a needed build, rebuilds too often, hides expected logs, or formats tracing output differently from raw stdout.

Required Inputs

Build invalidation uses cargo metadata to discover transitive workspace inputs, service binary timestamps, fallback input sets, and package metadata. Log normalization uses ANSI stripping, tracing compaction, lifecycle prefixes, and log-level filters.

Procedure

Prefer cargo metadata input discovery. If metadata fails, inspect the fallback input set before trusting a skipped build. For logs, compare raw service output with normalized panel output when debugging filters or missing lines.

Failure Modes

Stale binaries happen when input discovery misses a changed file or timestamps are misleading. Excess rebuilds happen when generated or irrelevant files enter the input set. Hidden logs usually come from health-log filtering, level filters, or tracing compaction.

Verification

Check the build decision summary, input list, binary timestamp, and normalized log preview. For critical service changes, run a direct build once to confirm the panel decision.