Conversation
There was a problem hiding this comment.
Pull request overview
This PR standardizes the packaging of release artifacts across all platforms by creating ZIP archives before uploading, instead of uploading raw binaries and DLLs. This ensures consistent distribution format and easier downloads for end users.
Key Changes:
- Added ZIP creation steps for Windows (x64 and ARM64) and Linux (x64 and ARM64) platforms
- Updated artifact upload paths to reference the newly created ZIP files instead of individual binaries
- Updated GitHub Release upload steps to use ZIP archives for all platforms
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| shell: bash | ||
| run: | | ||
| cd opennow-streamer/target/aarch64-unknown-linux-gnu/release | ||
| zip -r "OpenNOW-linux-arm64.zip" bundle/ |
There was a problem hiding this comment.
The Linux ARM64 artifact zips a directory named "bundle/" while other platforms zip specific files. This inconsistency could lead to different archive structures across platforms. Consider either:
- Zipping the contents of bundle/ using "bundle/*" if bundle/ is a directory containing multiple files, or
- Documenting why Linux ARM64 requires a different structure than other platforms
Additionally, verify that the "bundle/" directory exists at this path - the original code uploaded "bundle/*" which suggests it's a directory with contents.
| zip -r "OpenNOW-linux-arm64.zip" bundle/ | |
| zip -r "OpenNOW-linux-arm64.zip" bundle/* |
| run: | | ||
| $releaseDir = "opennow-streamer/target/release" | ||
| $zipName = "OpenNOW-windows-x64.zip" | ||
| Compress-Archive -Path "$releaseDir\opennow-streamer.exe", "$releaseDir\*.dll" -DestinationPath "$releaseDir\$zipName" |
There was a problem hiding this comment.
The Compress-Archive command with wildcard patterns may not work as expected in PowerShell. When using Compress-Archive with comma-separated paths where one includes a wildcard, the wildcard may not expand properly. Consider using Get-ChildItem to explicitly resolve the DLL files:
$files = @("$releaseDir\opennow-streamer.exe") + (Get-ChildItem "$releaseDir\*.dll")
Compress-Archive -Path $files -DestinationPath "$releaseDir\$zipName"Or zip all files in the directory and filter as needed. This ensures all DLLs are reliably included in the archive.
| run: | | ||
| $releaseDir = "opennow-streamer/target/aarch64-pc-windows-msvc/release" | ||
| $zipName = "OpenNOW-windows-arm64.zip" | ||
| Compress-Archive -Path "$releaseDir\opennow-streamer.exe", "$releaseDir\*.dll" -DestinationPath "$releaseDir\$zipName" |
There was a problem hiding this comment.
The Compress-Archive command with wildcard patterns may not work as expected in PowerShell. When using Compress-Archive with comma-separated paths where one includes a wildcard, the wildcard may not expand properly. Consider using Get-ChildItem to explicitly resolve the DLL files:
$files = @("$releaseDir\opennow-streamer.exe") + (Get-ChildItem "$releaseDir\*.dll")
Compress-Archive -Path $files -DestinationPath "$releaseDir\$zipName"Or zip all files in the directory and filter as needed. This ensures all DLLs are reliably included in the archive.
build: Package release artifacts as ZIP archives for all platforms
build: Package release artifacts as ZIP archives for all platforms
No description provided.