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

79 lines
2.6 KiB
Markdown

# 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:
```text
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.