feat(kernel): Include helper scripts and Python frontend in releases

Add `launch.sh` and `iecpoc` Python frontend to the release package for streamlined execution on the target device. Ensure accompanying files like `pyproject.toml` and `README.md` are included, while cleaning unnecessary caches.
This commit is contained in:
Christian Werner 2026-06-20 05:29:32 +02:00
parent 3135a2502b
commit 65ff323d50

View File

@ -100,8 +100,10 @@ jobs:
if-no-files-found: error
# Release flow only: merges all built modules into one modules/ folder, wraps it
# in a single repo-named top folder alongside selftest.sh, zips it and attaches
# it to the Gitea release for the pushed tag. Skipped entirely on pull requests.
# in a single repo-named top folder alongside the helper scripts (selftest.sh,
# launch.sh) and the iecpoc Python frontend (so launch.sh can pip-install it on
# the Pi), zips it and attaches it to the Gitea release for the pushed tag.
# Skipped entirely on pull requests.
release:
needs: build
if: startsWith(github.ref, 'refs/tags/')
@ -123,7 +125,14 @@ jobs:
root="package/$repo"
mkdir -p "$root"
cp -r dist/modules "$root"/ # modules/iec_listener_<kernel_version>.ko
cp kernel/selftest.sh "$root"/ # selftest.sh only at the package root
cp kernel/selftest.sh "$root"/ # one-shot hardware self-test
cp launch.sh "$root"/ # load module -> run frontend -> unload
# iecpoc Python frontend + its packaging metadata. launch.sh pip-installs
# this on the Pi; the build reads pyproject.toml's readme = "README.md",
# so README.md must travel with it. __pycache__ is stripped to stay clean.
cp pyproject.toml README.md "$root"/
cp -r iecpoc "$root"/
find "$root/iecpoc" -name __pycache__ -type d -prune -exec rm -rf {} +
(cd package && zip -r "../${repo}-${{ github.ref_name }}.zip" "$repo")
- name: Publish to Gitea release