WIP: workflow: implement incremental builds #404

Draft
Burer wants to merge 21 commits from workflow-fuse into main
Owner

Implement files caching and incremental builds to speed up autobuild system.

image.png

Implement files caching and incremental builds to speed up autobuild system. ![image.png](/attachments/351d6bc1-5d93-4b7b-afe4-3f6c258abdae)
Burer added 1 commit 2026-04-04 11:58:41 +00:00
workflow: implement incremental builds, part 1
Build system / Check kernel codestyle (pull_request) Successful in 49s
Build system / Build (pull_request) Successful in 10m34s
c69119b599
Burer added 1 commit 2026-04-04 12:15:20 +00:00
workflow: test: trigger incremental build
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Failing after 51s
83f082c54d
Burer added 1 commit 2026-04-04 12:20:26 +00:00
workflow: fix tup build for cached builds
Build system / Check kernel codestyle (pull_request) Successful in 25s
Build system / Build (pull_request) Successful in 9m59s
6985b8d8ed
Burer added 1 commit 2026-04-04 12:34:57 +00:00
workflow: add logging
Build system / Check kernel codestyle (pull_request) Successful in 27s
Build system / Build (pull_request) Successful in 14m39s
0f47f57f9b
Burer added 1 commit 2026-04-04 12:39:22 +00:00
wokflow: fix persistent timestamps for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 14m29s
5c5613c182
Burer added 1 commit 2026-04-04 13:13:45 +00:00
workflow: test: trigger incremental build
Build system / Check kernel codestyle (pull_request) Successful in 22s
Build system / Build (pull_request) Successful in 12m34s
563da1d879
Burer added 1 commit 2026-04-04 13:48:17 +00:00
workflos: fix cache for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Successful in 9m58s
2e2bca7de5
Burer added 1 commit 2026-04-04 14:42:42 +00:00
workflow: fix cache for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Successful in 9m56s
ed8b67d065
Burer added 1 commit 2026-04-04 16:16:11 +00:00
workflow: fix cache for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 40s
Build system / Build (pull_request) Successful in 10m24s
d27de3934f
Burer added 1 commit 2026-04-04 16:37:11 +00:00
workflow: fix cache for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 48s
Build system / Build (pull_request) Successful in 10m59s
6ea798f600
Burer added 1 commit 2026-04-05 08:15:12 +00:00
workflow: add debug to incremental cache
Build system / Check kernel codestyle (pull_request) Successful in 1m46s
Build system / Build (pull_request) Successful in 11m52s
c397c9a84b
Burer added 1 commit 2026-04-05 08:29:43 +00:00
workflow: add debug for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 1m11s
Build system / Build (pull_request) Successful in 11m2s
0256ca2846
Burer added 1 commit 2026-04-05 11:13:33 +00:00
workflow: add debug to incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 38s
Build system / Build (pull_request) Successful in 12m53s
322d4cd332
Burer added 1 commit 2026-04-05 11:33:05 +00:00
workflow: fix incremental build
Build system / Check kernel codestyle (pull_request) Successful in 37s
Build system / Build (pull_request) Successful in 10m20s
a6293ab5d0
Burer added 1 commit 2026-04-05 12:24:53 +00:00
workflow: fix cache time for incremental builds
Build system / Check kernel codestyle (pull_request) Successful in 44s
Build system / Build (pull_request) Successful in 3m23s
eea4409de4
Burer added 1 commit 2026-04-05 13:18:11 +00:00
workflow: move cache time sync to a separate script
Build system / Check kernel codestyle (pull_request) Successful in 35s
Build system / Build (pull_request) Successful in 3m4s
9419f0ba6d
Burer requested review from dunkaist 2026-04-05 13:22:24 +00:00
Burer requested review from Sweetbread 2026-04-05 13:22:25 +00:00
Burer added the Category/General
Kind
Enhancement
Priority
High
PR
Review required
labels 2026-04-05 13:23:05 +00:00
Owner

It's very difficult to review, because there are both the PR related changes and not

It's very difficult to review, because there are both the PR related changes and not
Burer added 1 commit 2026-04-06 06:37:18 +00:00
workflow: translate all scripts to python and cleanup everything
Build system / Check kernel codestyle (pull_request) Successful in 2m7s
Build system / Build (pull_request) Successful in 4m56s
33e3b62c2d
Burer added 1 commit 2026-04-06 06:56:12 +00:00
workflow: final scripts cleanup
Build system / Check kernel codestyle (pull_request) Successful in 59s
Build system / Build (pull_request) Successful in 3m34s
5088a91282
Burer added 1 commit 2026-04-06 13:56:26 +00:00
workflow: revert unrelated changes, keep only incremental build cache
Build system / Check kernel codestyle (pull_request) Successful in 1m48s
Build system / Build (pull_request) Successful in 4m57s
cff33f7a4e
Restore checker.pl and install_kgcc, remove check-kernel.py and
restore-mtime.py. Only incremental build cache changes remain:
sync-tup-ctime.py, cache restore/save steps, conditional tup init.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Owner

It's very difficult to review, because there are both the PR related changes and not

Cleaned up, should be easier now :)

> It's very difficult to review, because there are both the PR related changes and not Cleaned up, should be easier now :)
Sweetbread reviewed 2026-04-06 14:29:46 +00:00
@@ -30,7 +30,6 @@ jobs:
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
Owner

It was added for correct work of git describe. Does git know other commits and tags for describing the current commit w/o it?

It was added for correct work of `git describe`. Does git know other commits and tags for describing the current commit w/o it?
Author
Owner

As I can see, git describe is not used in current workflow, e.g. for Get Describe step, or anywhere else.
So what do you mean by "correct work"?

As I can see, `git describe` is not used in current workflow, e.g. for Get Describe step, or anywhere else. So what do you mean by "correct work"?
Burer marked this conversation as resolved
dunkaist approved these changes 2026-04-08 16:03:18 +00:00
Burer added 2 commits 2026-04-08 18:43:24 +00:00
workflow: remake caching to use @actions/cache and cache only main as baseline
Build system / Check kernel codestyle (pull_request) Successful in 2m4s
Build system / Build (pull_request) Successful in 12m12s
7adc2ca5a7
Sweetbread reviewed 2026-04-10 09:59:03 +00:00
@@ -112,0 +126,4 @@
build-es_ES
key: kolibri-build-main-${{ steps.toolchain-hash.outputs.hash }}-${{ steps.vars.outputs.sha }}
restore-keys: |
kolibri-build-main-${{ steps.toolchain-hash.outputs.hash }}-
Owner

Well, the workflow will be woking with PRs too, but cache might be restored by a PR commit hash key, which should not exist. I think, kolibri-build-main- would be better

Well, the workflow will be woking with PRs too, but cache might be restored by a PR commit hash key, which should not exist. I think, `kolibri-build-main-` would be better
All checks were successful
1 workflow awaiting approval

The workflow will only run after approval from the repository maintainer.

Build system / Check kernel codestyle (pull_request) Successful in 2m4s
Required
Details
Build system / Build (pull_request) Successful in 12m12s
Required
Details
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin workflow-fuse:workflow-fuse
git checkout workflow-fuse
Sign in to join this conversation.
No Reviewers
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#404