ci/cd: fix tup cache rebuild #525

Merged
Burer merged 2 commits from ci/fix-tup-cache-rebuild into main 2026-06-26 06:15:53 +00:00
Owner

Problem: sync-tup-ctime.py realigned every node's ctime, which hid real source changes whose Tupfile didn't change.

Fix: stamp the cache with its commit and on restore, git diff against it, keeping changed files dirty so tup rebuilds them.

Problem: `sync-tup-ctime.py` realigned every node's ctime, which hid real source changes whose Tupfile didn't change. Fix: stamp the cache with its commit and on restore, `git diff` against it, keeping changed files dirty so tup rebuilds them.
Burer added 1 commit 2026-06-25 14:57:30 +00:00
ci/cd: fix tup cache rebuild
Test PR / Build (ru_RU) (pull_request) Successful in 10m14s
Test PR / Build (en_US) (pull_request) Successful in 10m19s
Test PR / Build (es_ES) (pull_request) Successful in 10m19s
ecb794cfb7
Burer requested review from Developers 2026-06-25 14:57:31 +00:00
Burer requested review from Owners 2026-06-25 14:57:31 +00:00
Burer added the
Kind
Bug
Priority
Critical
1
labels 2026-06-25 14:59:05 +00:00
Doczom approved these changes 2026-06-25 17:56:59 +00:00
Sweetbread added
Priority
Medium
3
and removed
Priority
Critical
1
labels 2026-06-25 20:27:20 +00:00
Sweetbread approved these changes 2026-06-25 20:41:52 +00:00
Burer added 1 commit 2026-06-26 06:02:55 +00:00
ci/cd: fix dirty-path matching in tup cache sync
Test PR / Build (es_ES) (pull_request) Successful in 11m52s
Test PR / Build (en_US) (pull_request) Successful in 11m56s
Test PR / Build (ru_RU) (pull_request) Successful in 12m0s
d18152c9a3
The changed-files forcing never matched any tup node, so files changed
since the cached commit were silently realigned as clean instead of
forced dirty -- tup would skip rebuilding them (stale builds).

Two format mismatches between git's output and tup's node paths:

- tup's root dir node is named ".", so reconstructed paths came out as
  "./foo/bar" while git emits "foo/bar". Build the path with explicit
  forward slashes (host-independent) and strip the leading "./".
- git C-quotes non-ASCII paths by default (e.g. the cyrillic filename
  programs/develop/tinypy/examples/сlicker.py), which never matches the
  raw UTF-8 tup node name. Pass -c core.quotePath=false on git diff and
  read the changed-files list as UTF-8.

Also report matched/total changed paths and warn loudly when a non-empty
dirty list matches zero nodes, so a future format drift fails visibly
instead of silently shipping stale artifacts.
Burer merged commit 481b5779b8 into main 2026-06-26 06:15:53 +00:00
Burer deleted branch ci/fix-tup-cache-rebuild 2026-06-26 06:15:53 +00:00
Sign in to join this conversation.
No Reviewers
KolibriOS/Developers
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#525