From ba59a5bd086af05640d15d3145c213f0223b00b2 Mon Sep 17 00:00:00 2001 From: pdyc <87859132+newbeelearn@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:59:46 +0530 Subject: [PATCH] Adjust stream release workflow to upload compiled binaries only --- .github/workflows/stream-release.yml | 97 ++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .github/workflows/stream-release.yml diff --git a/.github/workflows/stream-release.yml b/.github/workflows/stream-release.yml new file mode 100644 index 00000000000..c6a10b75097 --- /dev/null +++ b/.github/workflows/stream-release.yml @@ -0,0 +1,97 @@ +name: Stream Binary Release + +on: + workflow_dispatch: + inputs: + tag: + description: "Release tag (for example: stream-v1.0.0)" + required: true + prerelease: + description: "Mark release as prerelease" + required: false + type: boolean + default: false + +permissions: + contents: write + +jobs: + build: + name: Build whisper-stream (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + asset_os: linux + - os: macos-latest + asset_os: macos + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Install dependencies (Ubuntu) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y cmake libsdl2-dev + + - name: Install dependencies (macOS) + if: runner.os == 'macOS' + run: | + brew update + brew install sdl2 + + - name: Configure + run: | + cmake -S . -B build \ + -DWHISPER_BUILD_EXAMPLES=ON \ + -DWHISPER_SDL2=ON + + - name: Build whisper-stream + run: cmake --build build --config Release --target whisper-stream + + - name: Collect compiled binary + shell: bash + run: | + set -euo pipefail + BIN_PATH="build/bin/whisper-stream" + + if [ ! -f "$BIN_PATH" ]; then + echo "Expected binary not found at: $BIN_PATH" + exit 1 + fi + + ARCH="$(uname -m)" + OUT_NAME="whisper-stream-${{ matrix.asset_os }}-${ARCH}" + + mkdir -p dist + cp "$BIN_PATH" "dist/$OUT_NAME" + chmod +x "dist/$OUT_NAME" + + - name: Upload binary artifact + uses: actions/upload-artifact@v4 + with: + name: whisper-stream-${{ matrix.asset_os }} + path: dist/whisper-stream-${{ matrix.asset_os }}-* + + release: + name: Create GitHub release + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download compiled binaries + uses: actions/download-artifact@v4 + with: + path: dist + + - name: Create release with binaries + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.event.inputs.tag }} + prerelease: ${{ github.event.inputs.prerelease }} + files: dist/**/whisper-stream-* + fail_on_unmatched_files: true