This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Docs/Ops/BuildLogRetentionPolicy.md
T

2.6 KiB

Agrarian Build Log Retention Policy

This policy covers generated build, package, cook, editor, crash, shader, and automation logs for the Agrarian Unreal project.

Goals

  • Keep enough recent logs to debug build and packaging failures.
  • Preserve important release/investor-demo logs long enough to explain what was shipped.
  • Prevent Saved/, Builds/, and generated automation output from growing without limit on the shared project drive.
  • Keep generated logs out of Git.

Log Locations

  • Saved/BuildLogs/: Windows editor builds, packaged target builds, and packaging logs.
  • Saved/Logs/: Unreal editor, cook, runtime, UnrealPak, World Partition, and commandlet logs.
  • Saved/Crashes/: editor/runtime crash context, logs, and dumps.
  • Saved/MaterialStats/: generated material stat CSV files.
  • Saved/Shaders/ and Saved/ShaderDebugInfo/: generated shader diagnostics.
  • Builds/: packaged local build outputs. These are not retained as source artifacts unless explicitly published or sent externally.

Default Retention

  • Build/package logs in Saved/BuildLogs/: keep 90 days.
  • Unreal logs in Saved/Logs/: keep 30 days.
  • Crash reports in Saved/Crashes/: keep 90 days.
  • Material stats in Saved/MaterialStats/: keep 30 days.
  • Shader debug output in Saved/Shaders/ and Saved/ShaderDebugInfo/: keep 14 days.
  • Local packaged builds in Builds/: keep the latest published investor/demo package and any active test build; prune older regenerated builds manually.

Preserve Before Pruning

Before deleting logs, preserve any file that is tied to:

  • an investor/demo package;
  • a release candidate;
  • a crash or build failure still being investigated;
  • a bug report sent to another person;
  • a store upload or external test distribution.

Preserved logs should be copied to a dated folder under a local operational archive or attached to the related issue/release note before cleanup.

Cleanup Script

Use:

Scripts/prune_build_logs.sh --dry-run
Scripts/prune_build_logs.sh --apply

The script is dry-run by default. It only removes generated files under known Saved/ log/debug paths and empty directories left behind. It does not touch source, Content/, Config/, Source/, Docs/, or Git history.

Cadence

  • Run dry-run before major packaging cycles if the shared drive is getting full.
  • Run apply monthly during active development.
  • Always run dry-run first when preparing an investor or external test build.

Git Policy

Generated logs are not committed. Commit only:

  • build scripts;
  • packaging scripts;
  • retention policy docs;
  • release notes;
  • summaries of important failures or fixes.