From 18bd085607280c420058fbb083e40b37f60d64fc Mon Sep 17 00:00:00 2001 From: "Federico A. Corazza" Date: Sat, 22 Aug 2026 21:50:48 +0000 Subject: [PATCH] docs(actions): document RUN_RETENTION_DAYS and sync the retention descriptions (#502) Documents `RUN_RETENTION_DAYS` and copies all three Actions retention descriptions verbatim from `app.example.ini`, so the cheat sheet no longer drifts from the config. Reference https://github.com/go-gitea/gitea/pull/38855 Description written by Claude (Opus 5). --------- Co-authored-by: bircni Co-authored-by: silverwind Co-authored-by: wxiaoguang <29147+wxiaoguang@noreply.gitea.com> Reviewed-on: https://gitea.com/gitea/docs/pulls/502 Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com> Co-authored-by: Federico A. Corazza --- docs/administration/config-cheat-sheet.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/administration/config-cheat-sheet.md b/docs/administration/config-cheat-sheet.md index 800cfbdc..306e7f53 100644 --- a/docs/administration/config-cheat-sheet.md +++ b/docs/administration/config-cheat-sheet.md @@ -1109,6 +1109,12 @@ Synchronize external user data (only LDAP user synchronization is supported) - `RUN_AT_START`: **true**: Run job at start time (if ENABLED). - `SCHEDULE`: **@midnight** : Cron syntax for the job. +#### Cron - Delete Old Action Runs (`cron.cleanup_action_runs`) + +- `ENABLED`: **true**: Enable the job deleting action runs older than `RUN_RETENTION_DAYS`. Deletes nothing while that is 0. +- `RUN_AT_START`: **false**: Run job at start time (if ENABLED). +- `SCHEDULE`: **@midnight**: Cron syntax for the job. + #### Cron - Cleanup Deleted Branches (`cron.deleted_branches_cleanup`) - `ENABLED`: **true**: Enable deleted branches cleanup. @@ -1660,13 +1666,16 @@ PROXY_HOSTS = *.github.com - `DEFAULT_ACTIONS_URL`: **github**: Default platform to get action plugins, `github` for `https://github.com`, `self` for the current Gitea instance. - `STORAGE_TYPE`: **local**: Storage type for actions logs, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]` - `MINIO_BASE_PATH`: **actions_log/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio` -- `LOG_RETENTION_DAYS`: **365**: Logs retention time in days. Old logs will be deleted after this period. +- `LOG_RETENTION_DAYS`: **365**: Days to keep logs. Old logs will be deleted after this period. 0 means keep forever. - `LOG_COMPRESSION`: **zstd**: Log compression type, `none` for no compression, `zstd` for zstd compression. Other compression types like `gzip` are NOT supported, since seekable stream is required for log view. It's always recommended to use compression when using local disk as log storage if CPU or memory is not a bottleneck. And for object storage services like S3, which is billed for requests, it would cause extra 2 times of get requests for each log view. But it will save storage space and network bandwidth, so it's still recommended to use compression. -- `ARTIFACT_RETENTION_DAYS`: **90**: Default number of days to keep artifacts. Artifacts could have their own retention periods by setting the `retention-days` option in `actions/upload-artifact` step. +- `ARTIFACT_RETENTION_DAYS`: **90**: Days to keep artifacts. Old artifacts will be deleted after this period. 0 means keep forever. + Changes only apply to newly uploaded artifacts, existing ones keep the expiry stored when they were uploaded. + Artifacts could have their own retention periods by setting the `retention-days` option in `actions/upload-artifact` step. +- `RUN_RETENTION_DAYS`: **400**: Days to keep completed runs. Old runs and everything under them will be deleted after this period. 0 means keep forever. - `ZOMBIE_TASK_TIMEOUT`: **10m**: Timeout to stop the task which have running status, but haven't been updated for a long time - `ENDLESS_TASK_TIMEOUT`: **3h**: Timeout to stop the tasks which have running status and continuous updates, but don't end for a long time - `ABANDONED_JOB_TIMEOUT`: **24h**: Timeout to cancel the jobs which have waiting status, but haven't been picked by a runner for a long time