Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 38 additions & 16 deletions .github/workflows/auto-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -732,24 +732,36 @@ jobs:

# ==================== Upload Artifacts ====================

- name: Zip Windows x64 artifacts
if: matrix.target == 'windows'
shell: pwsh
run: |
$releaseDir = "opennow-streamer/target/release"
$zipName = "OpenNOW-windows-x64.zip"
Compress-Archive -Path "$releaseDir\opennow-streamer.exe", "$releaseDir\*.dll" -DestinationPath "$releaseDir\$zipName"
Copy link

Copilot AI Jan 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.

- name: Upload Windows x64 artifacts
if: matrix.target == 'windows'
uses: actions/upload-artifact@v4
with:
name: opennow-streamer-${{ needs.get-version.outputs.version }}-windows-x64
path: |
opennow-streamer/target/release/opennow-streamer.exe
opennow-streamer/target/release/*.dll
path: opennow-streamer/target/release/OpenNOW-windows-x64.zip
retention-days: 30

- name: Zip Windows ARM64 artifacts
if: matrix.target == 'windows-arm64'
shell: pwsh
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"
Copy link

Copilot AI Jan 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.

- name: Upload Windows ARM64 artifacts
if: matrix.target == 'windows-arm64'
uses: actions/upload-artifact@v4
with:
name: opennow-streamer-${{ needs.get-version.outputs.version }}-windows-arm64
path: |
opennow-streamer/target/aarch64-pc-windows-msvc/release/opennow-streamer.exe
opennow-streamer/target/aarch64-pc-windows-msvc/release/*.dll
path: opennow-streamer/target/aarch64-pc-windows-msvc/release/OpenNOW-windows-arm64.zip
retention-days: 30

- name: Upload macOS artifacts
Expand All @@ -760,20 +772,34 @@ jobs:
path: opennow-streamer/target/release/OpenNOW-macos-arm64.zip
retention-days: 30

- name: Zip Linux x64 artifacts
if: matrix.target == 'linux'
shell: bash
run: |
cd opennow-streamer/target/release
zip -r "OpenNOW-linux-x64.zip" opennow-streamer

- name: Upload Linux x64 artifacts
if: matrix.target == 'linux'
uses: actions/upload-artifact@v4
with:
name: opennow-streamer-${{ needs.get-version.outputs.version }}-linux-x64
path: opennow-streamer/target/release/opennow-streamer
path: opennow-streamer/target/release/OpenNOW-linux-x64.zip
retention-days: 30

- name: Zip Linux ARM64 artifacts
if: matrix.target == 'linux-arm64'
shell: bash
run: |
cd opennow-streamer/target/aarch64-unknown-linux-gnu/release
zip -r "OpenNOW-linux-arm64.zip" bundle/
Copy link

Copilot AI Jan 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. Zipping the contents of bundle/ using "bundle/*" if bundle/ is a directory containing multiple files, or
  2. 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.

Suggested change
zip -r "OpenNOW-linux-arm64.zip" bundle/
zip -r "OpenNOW-linux-arm64.zip" bundle/*

Copilot uses AI. Check for mistakes.

- name: Upload Linux ARM64 artifacts
if: matrix.target == 'linux-arm64'
uses: actions/upload-artifact@v4
with:
name: opennow-streamer-${{ needs.get-version.outputs.version }}-linux-arm64
path: opennow-streamer/target/aarch64-unknown-linux-gnu/release/bundle/
path: opennow-streamer/target/aarch64-unknown-linux-gnu/release/OpenNOW-linux-arm64.zip
retention-days: 30

# ==================== Upload to GitHub Release (main branch only) ====================
Expand Down Expand Up @@ -823,9 +849,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.get-version.outputs.version }}
files: |
opennow-streamer/target/release/opennow-streamer.exe
opennow-streamer/target/release/*.dll
files: opennow-streamer/target/release/OpenNOW-windows-x64.zip
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -835,9 +859,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.get-version.outputs.version }}
files: |
opennow-streamer/target/aarch64-pc-windows-msvc/release/opennow-streamer.exe
opennow-streamer/target/aarch64-pc-windows-msvc/release/*.dll
files: opennow-streamer/target/aarch64-pc-windows-msvc/release/OpenNOW-windows-arm64.zip
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -857,7 +879,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.get-version.outputs.version }}
files: opennow-streamer/target/release/opennow-streamer
files: opennow-streamer/target/release/OpenNOW-linux-x64.zip
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -867,7 +889,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.get-version.outputs.version }}
files: opennow-streamer/target/aarch64-unknown-linux-gnu/release/bundle/*
files: opennow-streamer/target/aarch64-unknown-linux-gnu/release/OpenNOW-linux-arm64.zip
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading