ci: name the built programs the way the OS ships them
Build C-- programs / Build (LANG_ENG) (pull_request) Successful in 15s
Build C-- programs / Build (LANG_RUS) (pull_request) Successful in 15s
Build C-- programs / Build (LANG_ENG) (push) Successful in 16s
Build C-- programs / Build (LANG_RUS) (push) Successful in 16s

The artifact held Eolite.com, WebView.com and so on - the raw compiler
output, which is not the name anything uses. Collect them lowercase and
without the extension instead, so a downloaded artifact matches what an
image contains. Packing is left alone: the OS build runs kpack itself
when it assembles an image.
This commit was merged in pull request #9.
This commit is contained in:
Taldariner committed 2026-07-19 20:45:46 +03:00
1 parent dd7a59dace
commit 2a5a596aad
2 files changed
+11 -6

No files matched your search

+5 -3
View File
@@ -28,9 +28,11 @@ The heavy lifting is in [`build.sh`](../build.sh):
Language variants `LANG_ENG` and `LANG_RUS` build in parallel.
The compiled `.com` files are collected under `dist/` and published as a
per-language artifact (`cmm-programs-LANG_ENG` / `cmm-programs-LANG_RUS`),
downloadable from the run's **Summary** page for 14 days.
Built programs are collected under `dist/` named as KolibriOS ships them —
lowercase and without the `.com` extension — and published per language
(`cmm-programs-LANG_ENG` / `cmm-programs-LANG_RUS`), downloadable from the
run's **Summary** page for 14 days. They are not packed with `kpack`; the
OS build does that itself when it assembles an image.
### Running it locally
+6 -3
View File
@@ -74,9 +74,12 @@ compile_one() {
if [ "$rc" -eq 0 ] && [ -s "$d/$out" ]; then
pass=$((pass + 1))
printf ' ok %s/%s\n' "$d" "$src"
# stash the built binary under dist/ (mirroring the program dir, so
# same-named outputs like menu/menu.com and examples/menu.com don't clash)
mkdir -p "$DIST/${d#./}" && cp "$d/$out" "$DIST/${d#./}/"
# collect under dist/ named as KolibriOS ships it: lowercase, without
# the extension. The program dir is mirrored so same-named outputs
# like menu/menu.com and examples/menu.com don't clash.
dst="$DIST/${d#./}/$(printf '%s' "${out%.com}" | tr 'A-Z' 'a-z')"
mkdir -p "$(dirname "$dst")"
cp "$d/$out" "$dst"
else
fail=$((fail + 1))
failed="$failed $d/$src"