New uic archive format#15
Conversation
users are now expected to provide the binaries in a directory with a flat layout and compiled for the right architecture.
There was a problem hiding this comment.
Pull Request Overview
This PR updates the UIC (Unify IoT Connectivity) archive format by simplifying executable paths from build directories to direct paths. The changes remove platform-specific Rust compilation paths and update file references to use a flatter directory structure.
- Removed platform detection and Rust target-specific build paths for UIC executables
- Updated configuration file paths to use simplified directory structure
- Incremented package version to 0.4.7
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| z_wave_ts_silabs/processes.py | Simplified executable paths and configuration file references to remove build directory structure |
| setup.py | Version bump from 0.4.6 to 0.4.7 |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| raise OSError(f"unsupported OS: {platform.system()}") | ||
|
|
||
| cmd_line = f'{ctxt.uic}/build/cargo/uic_upvl_build/{rust_platform}/debug/uic-upvl --conf {uic_config_file_path}' | ||
| cmd_line = f'{ctxt.uic}/uic-upvl --conf {uic_config_file_path}' |
There was a problem hiding this comment.
The removal of platform detection logic assumes that the new archive format will have platform-appropriate executables at the root level. Consider adding validation to ensure the executable exists and is executable before attempting to run it, or document this assumption clearly.
| cmd_line = f'{ctxt.uic}/uic-upvl --conf {uic_config_file_path}' | |
| uic_upvl_path = os.path.join(ctxt.uic, "uic-upvl") | |
| if not (os.path.exists(uic_upvl_path) and os.access(uic_upvl_path, os.X_OK)): | |
| raise FileNotFoundError(f"Executable not found or not executable: {uic_upvl_path}") | |
| cmd_line = f'{uic_upvl_path} --conf {uic_config_file_path}' |
| raise OSError(f"unsupported OS: {platform.system()}") | ||
|
|
||
| cmd_line = f'{ctxt.uic}/build/cargo/uic_image_provider_build/{rust_platform}/debug/uic-image-provider --conf {uic_config_file_path}' | ||
| cmd_line = f'{ctxt.uic}/uic-image-provider --conf {uic_config_file_path}' |
There was a problem hiding this comment.
Similar to the uic-upvl change, this assumes the executable exists at the root level. The removed platform detection logic handled unsupported platforms with a clear error message. Consider adding executable existence validation.
| )) | ||
|
|
||
| cmd_line = f'{ctxt.uic}/build/applications/zpc/zpc --conf {uic_config_file_path}' | ||
| cmd_line = f'{ctxt.uic}/zpc --conf {uic_config_file_path}' |
There was a problem hiding this comment.
This path change removes the build/applications/zpc/ directory structure. Ensure the new archive format places the zpc executable at the root level, or add validation to confirm the executable exists.
|
@Luisky did you try this change in jenkins smoke test ? |
|
@Thomasdjb I will do the smoke test integration. So I will work on that on Thurday, and I will try it. |
|
@Thomasdjb as @silabs-MarkM said I won't be the one doing the integration of this PR. I'm leaving it in your hands. |
No description provided.