From d79a243abeb401535184c0c5f386f95498efb5a1 Mon Sep 17 00:00:00 2001 From: ada Date: Thu, 25 Jun 2026 12:59:25 -0500 Subject: [PATCH] fix(build): expose elf-binaries from build, not release Moves the `elf-binaries/` side-effect copy into `_stage_release` so that build's output tree is complete on its own. CI workflows that upload artifacts between `build` and `release` will now find the ELF files. --- .nanvix/src/build.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.nanvix/src/build.py b/.nanvix/src/build.py index 5f708dd..437f6d3 100644 --- a/.nanvix/src/build.py +++ b/.nanvix/src/build.py @@ -801,6 +801,16 @@ def _stage_release(self) -> None: ) log.success("release: staging complete") + # Expose ELF binaries in a visible directory so that CI artifact + # upload globs (e.g. **/*.elf) can find them — hidden directories + # like .nanvix/ are excluded by actions/upload-artifact by default. + elf_out = repo_root() / "elf-binaries" + if elf_out.exists(): + shutil.rmtree(elf_out) + elf_out.mkdir() + for elf in (sysroot / "bin").glob("*.elf"): + shutil.copy2(elf, elf_out) + # ------------------------------------------------------------------ # Lifecycle entry point # ------------------------------------------------------------------