mirror of
https://gitea.com/gitea/runner.git
synced 2026-11-11 10:24:09 +00:00
fix!: remove the dbfs log workaround and require Gitea 1.26.2 (#1395)
Gitea 1.26.2 finalizes logs on an empty `UpdateLog` with `NoMore` (https://github.com/go-gitea/gitea/pull/37687), so the sentinel row is no longer needed. On older servers, the final log of most jobs would never be archived and stays in `dbfs_data`, so this raises the minimum Gitea version. It lives in `ver.MinGiteaVersion`, which the error for servers without `Declare` now names. Fixes: https://gitea.com/gitea/runner/issues/953 Co-authored-by: silverwind <[email protected]> Reviewed-on: https://gitea.com/gitea/runner/pulls/1395 Reviewed-by: silverwind <[email protected]> Co-authored-by: bircni <[email protected]>
This commit is contained in:
1 parent
c59caa9689
commit
84c0fcd1fa
6 files changed
+6
-20
No files matched your search
@@ -691,22 +691,6 @@ func (r *Reporter) Close(lastWords string) error {
|
||||
logging.Errorf("No Response from RunDaemon for %s, continue best effort", r.daemonWait)
|
||||
}
|
||||
|
||||
// Gitea's UpdateLog short-circuits on len(Rows)==0 before honoring NoMore,
|
||||
// so a final empty request never runs TransferLogs and dbfs_data leaks.
|
||||
// Inject a sentinel row after the daemon has exited so it can't be flushed
|
||||
// before ReportLog(true).
|
||||
// TODO: Remove after https://github.com/go-gitea/gitea/pull/37631 is in all
|
||||
// supported branches, e.g. v1.28+.
|
||||
r.stateMu.Lock()
|
||||
if len(r.logRows) == 0 {
|
||||
// Not appendLogRow: the sentinel is not job output and has no place in job.log.
|
||||
r.logRows = append(r.logRows, &runnerv1.LogRow{
|
||||
Time: timestamppb.Now(),
|
||||
Content: "",
|
||||
})
|
||||
}
|
||||
r.stateMu.Unlock()
|
||||
|
||||
// Separate budgets so a slow ReportLog can't starve the ReportState that
|
||||
// carries the cancel acknowledgement.
|
||||
err := errors.Join(
|
||||
|
||||
Reference in new issue
Block a user