added build stuff #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Release | |
| # Triggers: | |
| # - Push a version tag: git tag v1.2.0 && git push --tags | |
| # - Manual run from the Actions tab (for testing) | |
| on: | |
| push: | |
| tags: | |
| - 'v*.*.*' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write # needed to create GitHub Releases and upload assets | |
| jobs: | |
| # ─────────────────────────────────────────────────────────────────────────── | |
| build-macos-arm: | |
| name: macOS (Apple Silicon) | |
| runs-on: macos-14 # M1 runner | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install FFmpeg | |
| run: brew install ffmpeg | |
| - name: Install Python deps | |
| run: | | |
| pip install --upgrade pip | |
| pip install torch torchvision torchaudio | |
| pip install flask waitress pyinstaller | |
| - name: Build | |
| run: pyinstaller chaotics_slice.spec --noconfirm | |
| - name: Zip app bundle | |
| run: | | |
| cd dist | |
| zip -r ChaoticSlice-macOS-arm64.zip ChaoticSlice.app | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-arm64 | |
| path: dist/ChaoticSlice-macOS-arm64.zip | |
| # ─────────────────────────────────────────────────────────────────────────── | |
| build-macos-intel: | |
| name: macOS (Intel) | |
| runs-on: macos-13 # last Intel runner | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install FFmpeg | |
| run: brew install ffmpeg | |
| - name: Install Python deps | |
| run: | | |
| pip install --upgrade pip | |
| pip install torch torchvision torchaudio | |
| pip install flask waitress pyinstaller | |
| - name: Build | |
| run: pyinstaller chaotics_slice.spec --noconfirm | |
| - name: Zip app bundle | |
| run: | | |
| cd dist | |
| zip -r ChaoticSlice-macOS-x86_64.zip ChaoticSlice.app | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-x86_64 | |
| path: dist/ChaoticSlice-macOS-x86_64.zip | |
| # ─────────────────────────────────────────────────────────────────────────── | |
| build-windows: | |
| name: Windows | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install FFmpeg | |
| # winget is available on GitHub's Windows runners | |
| run: winget install --id Gyan.FFmpeg --silent --accept-source-agreements --accept-package-agreements | |
| continue-on-error: true # fall back to choco if winget fails | |
| - name: Install FFmpeg (fallback via Chocolatey) | |
| if: failure() | |
| run: choco install ffmpeg -y | |
| - name: Install Python deps (CPU build — safe for all users) | |
| run: | | |
| pip install --upgrade pip | |
| pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
| pip install flask waitress pyinstaller | |
| - name: Build | |
| run: pyinstaller chaotics_slice.spec --noconfirm | |
| - name: Zip exe | |
| run: | | |
| cd dist | |
| Compress-Archive -Path ChaoticSlice.exe -DestinationPath ChaoticSlice-Windows-x64.zip | |
| shell: powershell | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-x64 | |
| path: dist/ChaoticSlice-Windows-x64.zip | |
| # ─────────────────────────────────────────────────────────────────────────── | |
| build-linux: | |
| name: Ubuntu (Linux) | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install FFmpeg | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y ffmpeg | |
| - name: Install Python deps (CPU build) | |
| run: | | |
| pip install --upgrade pip | |
| pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
| pip install flask waitress pyinstaller | |
| - name: Build | |
| run: pyinstaller chaotics_slice.spec --noconfirm | |
| - name: Tar binary | |
| run: | | |
| cd dist | |
| tar -czf ChaoticSlice-Linux-x86_64.tar.gz ChaoticSlice | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-x86_64 | |
| path: dist/ChaoticSlice-Linux-x86_64.tar.gz | |
| # ─────────────────────────────────────────────────────────────────────────── | |
| release: | |
| name: Create GitHub Release | |
| needs: [build-macos-arm, build-macos-intel, build-windows, build-linux] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: release-assets | |
| - name: List assets (debug) | |
| run: find release-assets -type f | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: "Chaotics Slice ${{ github.ref_name }}" | |
| body: | | |
| ## Chaotics Slice ${{ github.ref_name }} | |
| AI-powered silence remover — runs 100% locally, no cloud required. | |
| ### Downloads | |
| | Platform | File | | |
| |---|---| | |
| | macOS Apple Silicon (M1/M2/M3) | `ChaoticSlice-macOS-arm64.zip` | | |
| | macOS Intel | `ChaoticSlice-macOS-x86_64.zip` | | |
| | Windows 10/11 | `ChaoticSlice-Windows-x64.zip` | | |
| | Ubuntu / Linux | `ChaoticSlice-Linux-x86_64.tar.gz` | | |
| ### First run | |
| **macOS:** Unzip → right-click the app → Open (required to bypass Gatekeeper on first launch). | |
| **Windows:** Unzip → double-click `ChaoticSlice.exe`. Windows Defender may show a SmartScreen warning — click "More info" → "Run anyway". | |
| **Linux:** `tar -xzf ChaoticSlice-Linux-x86_64.tar.gz && ./ChaoticSlice` | |
| > The Silero VAD model (~2 MB) is downloaded on first run and cached locally. Internet required once. | |
| ### GPU acceleration | |
| These builds use CPU-only PyTorch for maximum compatibility. | |
| For CUDA or MPS acceleration, install from source — see [README](README.md). | |
| draft: false | |
| prerelease: ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') || contains(github.ref_name, 'rc') }} | |
| files: | | |
| release-assets/macos-arm64/ChaoticSlice-macOS-arm64.zip | |
| release-assets/macos-x86_64/ChaoticSlice-macOS-x86_64.zip | |
| release-assets/windows-x64/ChaoticSlice-Windows-x64.zip | |
| release-assets/linux-x86_64/ChaoticSlice-Linux-x86_64.tar.gz |