From 3f69c9f7323b7afae6dce2898118de3e2348b8d1 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:20:42 +1100 Subject: [PATCH 1/8] linux arm build --- .github/workflows/release.yml | 108 +++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbcb9aa..4e9c884 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,9 @@ on: tags: - 'v*' workflow_dispatch: + pull_request: + branches: + - 'main' jobs: build-linux: @@ -122,6 +125,108 @@ jobs: name: vsdf-linux-x86_64 path: release/vsdf-linux-x86_64.tar.gz + build-linux-arm64: + name: Build Linux arm64 Release + # Use arm64 GitHub-hosted runner (public repos) or configure a larger runner for private repos + runs-on: ubuntu-24.04-arm + timeout-minutes: 20 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + build-essential cmake ninja-build \ + libspdlog-dev \ + libglfw3 libglfw3-dev libvulkan-dev \ + glslang-tools glslang-dev libglm-dev \ + pkg-config \ + libavcodec-dev libavformat-dev libavutil-dev libswscale-dev patchelf + + - name: Configure + run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wno-error=array-bounds" -G Ninja . + + - name: Build + run: cmake --build build + + - name: Show libraries before bundling + run: | + echo "📋 Libraries linked BEFORE bundling/patching:" + ldd build/vsdf + + - name: Bundle dependencies and fix paths + run: | + mkdir -p release/linux-arm64/libs + cp build/vsdf release/linux-arm64/ + chmod +x release/linux-arm64/vsdf + + echo "Finding and copying non-system libraries..." + + # Find and copy all non-system libraries + ldd build/vsdf | grep -v 'linux-vdso\|libc\.so\|libm\.so\|libpthread\|libdl\|librt\|libstdc++\|libgcc\|/lib/ld-' | grep '=>' | awk '{print $3}' | grep '^/' > /tmp/libs_to_copy.txt + + cat /tmp/libs_to_copy.txt | while read lib; do + if [ -f "$lib" ]; then + libname=$(basename "$lib") + echo " → Copying $libname" + cp "$lib" release/linux-arm64/libs/ 2>/dev/null || true + fi + done + + BUNDLED_COUNT=$(ls release/linux-arm64/libs/*.so* 2>/dev/null | wc -l) + echo "Total libraries bundled: $BUNDLED_COUNT" + + echo "Setting RPATH..." + # Set RPATH on main binary to look in libs/ folder + patchelf --set-rpath '$ORIGIN/libs' release/linux-arm64/vsdf + + # Fix RPATH for each bundled library + for lib in release/linux-arm64/libs/*.so*; do + [ -f "$lib" ] && patchelf --set-rpath '$ORIGIN' "$lib" 2>/dev/null || true + done + + echo "✓ Bundling complete" + echo "" + echo "📦 Binary info:" + file release/linux-arm64/vsdf + ls -lh release/linux-arm64/vsdf + echo "" + echo "🔗 RPATH configuration:" + patchelf --print-rpath release/linux-arm64/vsdf + echo "" + echo "📚 Bundled libraries:" + ls -lh release/linux-arm64/libs/ + echo "" + echo "🔍 Binary dependencies after bundling:" + ldd release/linux-arm64/vsdf + echo "" + echo "⚠️ Checking for missing dependencies:" + if ldd release/linux-arm64/vsdf | grep 'not found'; then + echo "❌ ERROR: Missing dependencies found!" + exit 1 + else + echo "✅ No missing dependencies" + fi + + - name: Package binary + run: | + cp -r shaders release/linux-arm64/ + cp README.md release/linux-arm64/ + cp LICENSE release/linux-arm64/ + cd release + tar -czf vsdf-linux-arm64.tar.gz linux-arm64/ + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: vsdf-linux-arm64 + path: release/vsdf-linux-arm64.tar.gz + test-linux-ubuntu-24: name: Test on Ubuntu 24.04 needs: build-linux @@ -492,7 +597,7 @@ jobs: create-release: name: Create GitHub Release # Note: build-windows builds WITHOUT FFMPEG due to issue #33 - needs: [build-linux, test-linux-ubuntu-24, test-linux-debian-13, build-macos, build-windows, test-windows] + needs: [build-linux, build-linux-arm64, test-linux-ubuntu-24, test-linux-debian-13, build-macos, build-windows, test-windows] runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') @@ -513,6 +618,7 @@ jobs: with: files: | artifacts/vsdf-linux-x86_64/vsdf-linux-x86_64.tar.gz + artifacts/vsdf-linux-arm64/vsdf-linux-arm64.tar.gz artifacts/vsdf-macos-x86_64/vsdf-macos-x86_64.tar.gz artifacts/vsdf-macos-arm64/vsdf-macos-arm64.tar.gz artifacts/vsdf-windows-x86_64-disable_ffmpeg/vsdf-windows-x86_64-disable_ffmpeg.zip From ec8ed757660ceaeeb39f84d0277dc901dd588db0 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:24:38 +1100 Subject: [PATCH 2/8] disable other stuff for now --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4e9c884..c0eb4ee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,7 @@ on: jobs: build-linux: name: Build Linux Release + if: false # TODO: UNDO later # Use ubuntu-latest (currently 24.04) to build with modern toolchain # Bundle dependencies and test on multiple distros to ensure compatibility runs-on: ubuntu-latest @@ -229,6 +230,7 @@ jobs: test-linux-ubuntu-24: name: Test on Ubuntu 24.04 + if: false # TODO: UNDO later needs: build-linux runs-on: ubuntu-latest timeout-minutes: 5 @@ -286,6 +288,7 @@ jobs: test-linux-debian-13: name: Test on Debian 13 (Trixie) + if: false # TODO: UNDO later needs: build-linux runs-on: ubuntu-latest timeout-minutes: 5 @@ -321,6 +324,7 @@ jobs: build-macos: name: Build macOS ${{ matrix.arch }} Release + if: false # TODO: UNDO later runs-on: ${{ matrix.runner }} timeout-minutes: 15 strategy: @@ -499,6 +503,7 @@ jobs: build-windows: # Note: build-windows builds WITHOUT FFMPEG due to issue #33 name: Build Windows Release + if: false # TODO: UNDO later runs-on: windows-latest timeout-minutes: 30 @@ -556,6 +561,7 @@ jobs: test-windows: name: Test Windows Release Binary + if: false # TODO: UNDO later needs: build-windows runs-on: windows-latest timeout-minutes: 5 From d54412b46f838efecff87181f5b8c5ec731de946 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:29:50 +1100 Subject: [PATCH 3/8] make matrix --- .github/workflows/release.yml | 159 ++++++++-------------------------- 1 file changed, 35 insertions(+), 124 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c0eb4ee..3b135db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,12 +11,25 @@ on: jobs: build-linux: - name: Build Linux Release + name: Build Linux ${{ matrix.arch }} Release if: false # TODO: UNDO later # Use ubuntu-latest (currently 24.04) to build with modern toolchain # Bundle dependencies and test on multiple distros to ensure compatibility - runs-on: ubuntu-latest + runs-on: ${{ matrix.runner }} timeout-minutes: 20 + strategy: + matrix: + include: + - arch: x86_64 + runner: ubuntu-latest + release_dir: linux + artifact_name: vsdf-linux-x86_64 + tar_name: vsdf-linux-x86_64.tar.gz + - arch: arm64 + runner: ubuntu-24.04-arm + release_dir: linux-arm64 + artifact_name: vsdf-linux-arm64 + tar_name: vsdf-linux-arm64.tar.gz steps: - name: Checkout code @@ -60,111 +73,9 @@ jobs: - name: Bundle dependencies and fix paths run: | - mkdir -p release/linux/libs - cp build/vsdf release/linux/ - chmod +x release/linux/vsdf - - echo "Finding and copying non-system libraries..." - - # Find and copy all non-system libraries - ldd build/vsdf | grep -v 'linux-vdso\|libc\.so\|libm\.so\|libpthread\|libdl\|librt\|libstdc++\|libgcc\|/lib/ld-' | grep '=>' | awk '{print $3}' | grep '^/' > /tmp/libs_to_copy.txt - - cat /tmp/libs_to_copy.txt | while read lib; do - if [ -f "$lib" ]; then - libname=$(basename "$lib") - echo " → Copying $libname" - cp "$lib" release/linux/libs/ 2>/dev/null || true - fi - done - - BUNDLED_COUNT=$(ls release/linux/libs/*.so* 2>/dev/null | wc -l) - echo "Total libraries bundled: $BUNDLED_COUNT" - - echo "Setting RPATH..." - # Set RPATH on main binary to look in libs/ folder - patchelf --set-rpath '$ORIGIN/libs' release/linux/vsdf - - # Fix RPATH for each bundled library - for lib in release/linux/libs/*.so*; do - [ -f "$lib" ] && patchelf --set-rpath '$ORIGIN' "$lib" 2>/dev/null || true - done - - echo "✓ Bundling complete" - echo "" - echo "📦 Binary info:" - file release/linux/vsdf - ls -lh release/linux/vsdf - echo "" - echo "🔗 RPATH configuration:" - patchelf --print-rpath release/linux/vsdf - echo "" - echo "📚 Bundled libraries:" - ls -lh release/linux/libs/ - echo "" - echo "🔍 Binary dependencies after bundling:" - ldd release/linux/vsdf - echo "" - echo "⚠️ Checking for missing dependencies:" - if ldd release/linux/vsdf | grep 'not found'; then - echo "❌ ERROR: Missing dependencies found!" - exit 1 - else - echo "✅ No missing dependencies" - fi - - - name: Package binary - run: | - cp -r shaders release/linux/ - cp README.md release/linux/ - cp LICENSE release/linux/ - cd release - tar -czf vsdf-linux-x86_64.tar.gz linux/ - - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: vsdf-linux-x86_64 - path: release/vsdf-linux-x86_64.tar.gz - - build-linux-arm64: - name: Build Linux arm64 Release - # Use arm64 GitHub-hosted runner (public repos) or configure a larger runner for private repos - runs-on: ubuntu-24.04-arm - timeout-minutes: 20 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends \ - build-essential cmake ninja-build \ - libspdlog-dev \ - libglfw3 libglfw3-dev libvulkan-dev \ - glslang-tools glslang-dev libglm-dev \ - pkg-config \ - libavcodec-dev libavformat-dev libavutil-dev libswscale-dev patchelf - - - name: Configure - run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wno-error=array-bounds" -G Ninja . - - - name: Build - run: cmake --build build - - - name: Show libraries before bundling - run: | - echo "📋 Libraries linked BEFORE bundling/patching:" - ldd build/vsdf - - - name: Bundle dependencies and fix paths - run: | - mkdir -p release/linux-arm64/libs - cp build/vsdf release/linux-arm64/ - chmod +x release/linux-arm64/vsdf + mkdir -p release/${{ matrix.release_dir }}/libs + cp build/vsdf release/${{ matrix.release_dir }}/ + chmod +x release/${{ matrix.release_dir }}/vsdf echo "Finding and copying non-system libraries..." @@ -175,39 +86,39 @@ jobs: if [ -f "$lib" ]; then libname=$(basename "$lib") echo " → Copying $libname" - cp "$lib" release/linux-arm64/libs/ 2>/dev/null || true + cp "$lib" release/${{ matrix.release_dir }}/libs/ 2>/dev/null || true fi done - BUNDLED_COUNT=$(ls release/linux-arm64/libs/*.so* 2>/dev/null | wc -l) + BUNDLED_COUNT=$(ls release/${{ matrix.release_dir }}/libs/*.so* 2>/dev/null | wc -l) echo "Total libraries bundled: $BUNDLED_COUNT" echo "Setting RPATH..." # Set RPATH on main binary to look in libs/ folder - patchelf --set-rpath '$ORIGIN/libs' release/linux-arm64/vsdf + patchelf --set-rpath '$ORIGIN/libs' release/${{ matrix.release_dir }}/vsdf # Fix RPATH for each bundled library - for lib in release/linux-arm64/libs/*.so*; do + for lib in release/${{ matrix.release_dir }}/libs/*.so*; do [ -f "$lib" ] && patchelf --set-rpath '$ORIGIN' "$lib" 2>/dev/null || true done echo "✓ Bundling complete" echo "" echo "📦 Binary info:" - file release/linux-arm64/vsdf - ls -lh release/linux-arm64/vsdf + file release/${{ matrix.release_dir }}/vsdf + ls -lh release/${{ matrix.release_dir }}/vsdf echo "" echo "🔗 RPATH configuration:" - patchelf --print-rpath release/linux-arm64/vsdf + patchelf --print-rpath release/${{ matrix.release_dir }}/vsdf echo "" echo "📚 Bundled libraries:" - ls -lh release/linux-arm64/libs/ + ls -lh release/${{ matrix.release_dir }}/libs/ echo "" echo "🔍 Binary dependencies after bundling:" - ldd release/linux-arm64/vsdf + ldd release/${{ matrix.release_dir }}/vsdf echo "" echo "⚠️ Checking for missing dependencies:" - if ldd release/linux-arm64/vsdf | grep 'not found'; then + if ldd release/${{ matrix.release_dir }}/vsdf | grep 'not found'; then echo "❌ ERROR: Missing dependencies found!" exit 1 else @@ -216,17 +127,17 @@ jobs: - name: Package binary run: | - cp -r shaders release/linux-arm64/ - cp README.md release/linux-arm64/ - cp LICENSE release/linux-arm64/ + cp -r shaders release/${{ matrix.release_dir }}/ + cp README.md release/${{ matrix.release_dir }}/ + cp LICENSE release/${{ matrix.release_dir }}/ cd release - tar -czf vsdf-linux-arm64.tar.gz linux-arm64/ + tar -czf ${{ matrix.tar_name }} ${{ matrix.release_dir }}/ - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: vsdf-linux-arm64 - path: release/vsdf-linux-arm64.tar.gz + name: ${{ matrix.artifact_name }} + path: release/${{ matrix.tar_name }} test-linux-ubuntu-24: name: Test on Ubuntu 24.04 @@ -603,7 +514,7 @@ jobs: create-release: name: Create GitHub Release # Note: build-windows builds WITHOUT FFMPEG due to issue #33 - needs: [build-linux, build-linux-arm64, test-linux-ubuntu-24, test-linux-debian-13, build-macos, build-windows, test-windows] + needs: [build-linux, test-linux-ubuntu-24, test-linux-debian-13, build-macos, build-windows, test-windows] runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') From 7523ff851413117c815683c4ce237bea3ae66b57 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:37:15 +1100 Subject: [PATCH 4/8] run release test --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b135db..0a69636 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,6 @@ on: jobs: build-linux: name: Build Linux ${{ matrix.arch }} Release - if: false # TODO: UNDO later # Use ubuntu-latest (currently 24.04) to build with modern toolchain # Bundle dependencies and test on multiple distros to ensure compatibility runs-on: ${{ matrix.runner }} From be658b8303cde094df6ee5f903d53b83facda2fa Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:38:58 +1100 Subject: [PATCH 5/8] uniform pattern --- .github/workflows/release.yml | 16 +++++++--------- QUICKSTART.md | 12 +++++++----- README.md | 12 +++++++----- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0a69636..0acf8c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: include: - arch: x86_64 runner: ubuntu-latest - release_dir: linux + release_dir: linux-x86_64 artifact_name: vsdf-linux-x86_64 tar_name: vsdf-linux-x86_64.tar.gz - arch: arm64 @@ -140,7 +140,6 @@ jobs: test-linux-ubuntu-24: name: Test on Ubuntu 24.04 - if: false # TODO: UNDO later needs: build-linux runs-on: ubuntu-latest timeout-minutes: 5 @@ -156,7 +155,7 @@ jobs: - name: Extract binary run: | tar -xzf vsdf-linux-x86_64.tar.gz - cd linux + cd linux-x86_64 chmod +x vsdf - name: Install runtime dependencies @@ -169,14 +168,14 @@ jobs: - name: Test version run: | - cd linux + cd linux-x86_64 echo "→ Testing --version..." ./vsdf --version echo "✓ --version works" - name: Test 1-frame headless render run: | - cd linux + cd linux-x86_64 echo "→ Testing 1-frame headless render (requires Vulkan)..." xvfb-run -s '-screen 0 1024x768x24' \ ./vsdf --toy shaders/testtoyshader.frag --frames 1 --headless --log-level info @@ -184,7 +183,7 @@ jobs: - name: Test offline render run: | - cd linux + cd linux-x86_64 echo "→ Testing offline render (FFmpeg, requires Vulkan)..." xvfb-run -s '-screen 0 1024x768x24' \ ./vsdf --toy shaders/testtoyshader.frag --frames 10 --ffmpeg-output out-test.mp4 --log-level info @@ -198,7 +197,6 @@ jobs: test-linux-debian-13: name: Test on Debian 13 (Trixie) - if: false # TODO: UNDO later needs: build-linux runs-on: ubuntu-latest timeout-minutes: 5 @@ -214,7 +212,7 @@ jobs: - name: Extract binary run: | tar -xzf vsdf-linux-x86_64.tar.gz - cd linux + cd linux-x86_64 chmod +x vsdf - name: Install runtime dependencies @@ -227,7 +225,7 @@ jobs: - name: Test version run: | - cd linux + cd linux-x86_64 echo "→ Testing --version..." ./vsdf --version echo "✓ --version works" diff --git a/QUICKSTART.md b/QUICKSTART.md index 0fa8ee8..dd894d8 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -20,13 +20,15 @@ To get the **latest release**: ```sh LATEST_RELEASE_TAG=$(curl -sL https://api.github.com/repos/jamylak/vsdf/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') -DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-x86_64.tar.gz" +LINUX_ARCH="x86_64" # or "arm64" +LINUX_DIR="linux-${LINUX_ARCH}" +DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-${LINUX_ARCH}.tar.gz" echo "Downloading from: ${DOWNLOAD_URL}" curl -LO "${DOWNLOAD_URL}" -tar -xzf vsdf-linux-x86_64.tar.gz -chmod +x linux/vsdf -sudo mv linux/vsdf /usr/local/bin/vsdf -rm -rf vsdf-linux-x86_64.tar.gz linux # Clean up downloaded files +tar -xzf vsdf-linux-${LINUX_ARCH}.tar.gz +chmod +x ${LINUX_DIR}/vsdf +sudo mv ${LINUX_DIR}/vsdf /usr/local/bin/vsdf +rm -rf vsdf-linux-${LINUX_ARCH}.tar.gz ${LINUX_DIR} # Clean up downloaded files ``` ### Windows (binary, no `ffmpeg`) diff --git a/README.md b/README.md index be8befc..6857d6f 100644 --- a/README.md +++ b/README.md @@ -60,13 +60,15 @@ The only dependency is Vulkan. ```sh LATEST_RELEASE_TAG=$(curl -sL https://api.github.com/repos/jamylak/vsdf/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') -DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-x86_64.tar.gz" +LINUX_ARCH="x86_64" # or "arm64" +LINUX_DIR="linux-${LINUX_ARCH}" +DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-${LINUX_ARCH}.tar.gz" echo "Downloading from: ${DOWNLOAD_URL}" curl -LO "${DOWNLOAD_URL}" -tar -xzf vsdf-linux-x86_64.tar.gz -chmod +x linux/vsdf -sudo mv linux/vsdf /usr/local/bin/vsdf -rm -rf vsdf-linux-x86_64.tar.gz linux # Clean up downloaded files +tar -xzf vsdf-linux-${LINUX_ARCH}.tar.gz +chmod +x ${LINUX_DIR}/vsdf +sudo mv ${LINUX_DIR}/vsdf /usr/local/bin/vsdf +rm -rf vsdf-linux-${LINUX_ARCH}.tar.gz ${LINUX_DIR} # Clean up downloaded files ``` ## Windows Binary Installation (no `ffmpeg`) From 16c5038ede108e9997edaacd96327b933a10c352 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sat, 31 Jan 2026 23:41:17 +1100 Subject: [PATCH 6/8] one liner --- QUICKSTART.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/QUICKSTART.md b/QUICKSTART.md index dd894d8..d942021 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -20,7 +20,7 @@ To get the **latest release**: ```sh LATEST_RELEASE_TAG=$(curl -sL https://api.github.com/repos/jamylak/vsdf/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') -LINUX_ARCH="x86_64" # or "arm64" +LINUX_ARCH=$( [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ] && echo arm64 || echo x86_64 ) LINUX_DIR="linux-${LINUX_ARCH}" DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-${LINUX_ARCH}.tar.gz" echo "Downloading from: ${DOWNLOAD_URL}" diff --git a/README.md b/README.md index 6857d6f..8e4200f 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ The only dependency is Vulkan. ```sh LATEST_RELEASE_TAG=$(curl -sL https://api.github.com/repos/jamylak/vsdf/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') -LINUX_ARCH="x86_64" # or "arm64" +LINUX_ARCH=$( [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ] && echo arm64 || echo x86_64 ) LINUX_DIR="linux-${LINUX_ARCH}" DOWNLOAD_URL="https://github.com/jamylak/vsdf/releases/download/${LATEST_RELEASE_TAG}/vsdf-linux-${LINUX_ARCH}.tar.gz" echo "Downloading from: ${DOWNLOAD_URL}" From 1781f01a712c38e19b3923cf392980cfdcf4e605 Mon Sep 17 00:00:00 2001 From: jamylak Date: Sun, 1 Feb 2026 10:00:00 +1100 Subject: [PATCH 7/8] remove the test run --- .github/workflows/release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0acf8c1..97c73a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,9 +5,6 @@ on: tags: - 'v*' workflow_dispatch: - pull_request: - branches: - - 'main' jobs: build-linux: From 20fcf99d1ae1ab7bc25eac20024a20f8c662e93f Mon Sep 17 00:00:00 2001 From: jamylak Date: Sun, 1 Feb 2026 10:12:46 +1100 Subject: [PATCH 8/8] reenable jobs --- .github/workflows/release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 97c73a6..804a722 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -229,7 +229,6 @@ jobs: build-macos: name: Build macOS ${{ matrix.arch }} Release - if: false # TODO: UNDO later runs-on: ${{ matrix.runner }} timeout-minutes: 15 strategy: @@ -408,7 +407,6 @@ jobs: build-windows: # Note: build-windows builds WITHOUT FFMPEG due to issue #33 name: Build Windows Release - if: false # TODO: UNDO later runs-on: windows-latest timeout-minutes: 30 @@ -466,7 +464,6 @@ jobs: test-windows: name: Test Windows Release Binary - if: false # TODO: UNDO later needs: build-windows runs-on: windows-latest timeout-minutes: 5