name: Build BatchTube Desktop App on: push: tags: - 'v*' workflow_dispatch: jobs: build-linux: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Setup Python 3.11 uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install Python dependencies run: | pip install -r backend/requirements.txt pip install pyinstaller - name: Install Linux system dependencies run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev - name: Bundle Python backend with PyInstaller run: | cd backend pyinstaller batchtube-server.spec mkdir -p ../src-tauri/binaries cp dist/batchtube-server ../src-tauri/binaries/batchtube-server-x86_64-unknown-linux-gnu - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22' - name: Install npm dependencies run: npm install - name: Build Tauri app (Linux) uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tagName: ${{ github.ref_name }} releaseName: 'BatchTube v__VERSION__' releaseBody: 'BatchTube — batch download YouTube videos at scale.' releaseDraft: false prerelease: false