84 lines
2.7 KiB
YAML
84 lines
2.7 KiB
YAML
name: Test Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: "Release tag to test (leave empty for latest)"
|
|
required: false
|
|
type: string
|
|
|
|
jobs:
|
|
test:
|
|
timeout-minutes: 10
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- runner: macos-14
|
|
pattern: vibe_aarch64.app.tar.gz
|
|
- runner: macos-15-intel
|
|
pattern: vibe_x64.app.tar.gz
|
|
- runner: ubuntu-24.04
|
|
pattern: "vibe_*_amd64.deb"
|
|
- runner: ubuntu-24.04-arm
|
|
pattern: "vibe_*_arm64.deb"
|
|
- runner: windows-latest
|
|
pattern: "vibe_*_x64-setup.exe"
|
|
|
|
runs-on: ${{ matrix.runner }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
sparse-checkout: samples
|
|
|
|
- name: Setup MSYS2 wget (Windows)
|
|
if: runner.os == 'Windows'
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MINGW64
|
|
install: wget
|
|
|
|
- name: Download latest release artifact (including pre-releases)
|
|
shell: bash
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
run: |
|
|
tag="${{ inputs.tag }}"
|
|
if [ -z "$tag" ]; then
|
|
tag=$(gh release list --repo ${{ github.repository }} --limit 1 --json tagName --jq '.[0].tagName')
|
|
fi
|
|
echo "Downloading from release: $tag"
|
|
gh release download "$tag" --repo ${{ github.repository }} --pattern "${{ matrix.pattern }}"
|
|
|
|
- name: Download tiny whisper model
|
|
if: runner.os != 'Windows'
|
|
shell: bash
|
|
run: wget -q https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin
|
|
|
|
- name: Download tiny whisper model (Windows)
|
|
if: runner.os == 'Windows'
|
|
shell: pwsh
|
|
run: C:\msys64\usr\bin\wget.exe --progress=bar:force:noscroll https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin -O ggml-tiny.bin
|
|
|
|
- name: Extract and test (macOS)
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
tar xzf ${{ matrix.pattern }}
|
|
./vibe.app/Contents/MacOS/vibe transcribe ggml-tiny.bin samples/short.mp4
|
|
|
|
- name: Install and test (Linux)
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y xvfb ./${{ matrix.pattern }}
|
|
xvfb-run -a vibe transcribe ggml-tiny.bin samples/short.mp4
|
|
|
|
- name: Install and test (Windows)
|
|
if: runner.os == 'Windows'
|
|
shell: pwsh
|
|
run: |
|
|
$installer = (Get-Item vibe_*_x64-setup.exe).FullName
|
|
Start-Process -FilePath $installer -ArgumentList "/S" -Wait
|
|
& "$env:LOCALAPPDATA\vibe\vibe.exe" transcribe ggml-tiny.bin samples\short.mp4
|