From 299891dab91d20f92223a97b228e0a3536f5514b Mon Sep 17 00:00:00 2001 From: Skyler Lehmkuhl Date: Tue, 24 Feb 2026 13:58:34 -0500 Subject: [PATCH] update build yaml --- .github/workflows/build.yml | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75db2d2..5eceb51 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,20 +87,8 @@ jobs: # ── Windows dependencies ── - name: Install dependencies (Windows) if: matrix.platform == 'windows-latest' - run: choco install nasm cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y shell: pwsh - - - name: Setup MSVC dev environment (Windows) - if: matrix.platform == 'windows-latest' - uses: ilammy/msvc-dev-cmd@v1 - - - name: Add MSYS2 to PATH (Windows) - if: matrix.platform == 'windows-latest' - shell: pwsh - run: | - # Rename MSYS2's link.exe so it doesn't shadow MSVC's linker - Rename-Item "C:\msys64\usr\bin\link.exe" "C:\msys64\usr\bin\link.exe.bak" -ErrorAction SilentlyContinue - echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + run: choco install cmake llvm --installargs 'ADD_CMAKE_TO_PATH=System' -y # ── Common build steps ── - name: Extract version @@ -110,11 +98,25 @@ jobs: VERSION=$(grep '^version' lightningbeam-ui/lightningbeam-editor/Cargo.toml | sed 's/.*"\(.*\)"/\1/') echo "version=$VERSION" >> "$GITHUB_OUTPUT" - - name: Enable FFmpeg build from source + - name: Enable FFmpeg build from source (Linux/macOS) + if: matrix.platform != 'windows-latest' shell: bash run: | sed -i.bak 's/ffmpeg-next = { version = "8.0", features = \["static"\] }/ffmpeg-next = { version = "8.0", features = ["build", "static"] }/' lightningbeam-ui/lightningbeam-editor/Cargo.toml + - name: Setup FFmpeg (Windows) + if: matrix.platform == 'windows-latest' + shell: pwsh + run: | + # Download FFmpeg 8.0 shared+dev build (headers + import libs + DLLs) + $url = "https://github.com/GyanD/codexffmpeg/releases/download/8.0/ffmpeg-8.0-full_build-shared.7z" + Invoke-WebRequest -Uri $url -OutFile ffmpeg.7z + 7z x ffmpeg.7z -offmpeg-win + $ffmpegDir = (Get-ChildItem -Path ffmpeg-win -Directory | Select-Object -First 1).FullName + echo "FFMPEG_DIR=$ffmpegDir" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + # LLVM/libclang for bindgen + echo "LIBCLANG_PATH=C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + - name: Setup icons shell: bash run: | @@ -348,6 +350,8 @@ jobs: New-Item -ItemType Directory -Force -Path $DIST Copy-Item "lightningbeam-ui/target/release/lightningbeam-editor.exe" "$DIST/" Copy-Item -Recurse "lightningbeam-ui/target/release/presets" "$DIST/presets" + # Bundle FFmpeg DLLs (shared build) + Copy-Item "$env:FFMPEG_DIR\bin\*.dll" "$DIST/" Compress-Archive -Path $DIST -DestinationPath "${DIST}.zip" - name: Collect Windows artifacts