fix: Update prepare-binaries script to handle missing components grac… #3
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: Release DevStackBox | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| jobs: | |
| create-release: | |
| permissions: | |
| contents: write | |
| runs-on: ubuntu-22.04 | |
| outputs: | |
| release_id: ${{ steps.create-release.outputs.result }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Create release | |
| id: create-release | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const { data } = await github.rest.repos.createRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| tag_name: `${context.ref.replace(/refs\/tags\//, '')}`, | |
| name: `DevStackBox ${context.ref.replace(/refs\/tags\//, '')} - Full XAMPP Alternative`, | |
| body: `🚀 **DevStackBox Full Installation Package** | |
| This release includes all server components bundled like XAMPP: | |
| - ✅ **Apache HTTP Server** (portable) | |
| - ✅ **MySQL 8.0 Database** (embedded) | |
| - ✅ **PHP 8.2** (with extensions) | |
| - ✅ **phpMyAdmin** (database management) | |
| - ✅ **Modern React UI** (auto-updating) | |
| - ✅ **Installs to C:\\\\dsb\\\\** (configurable) | |
| **Installation:** | |
| 1. Download the NSIS installer (DevStackBox_*_x64-setup.exe) | |
| 2. Run as administrator | |
| 3. When prompted, choose C:\\\\dsb\\\\ as installation directory | |
| 4. Launch DevStackBox from Start Menu | |
| 5. Start all services from the UI | |
| 6. Access http://localhost for your projects | |
| 7. Access http://localhost/phpmyadmin for database management | |
| **Command Line Installation:** | |
| \`\`\` | |
| DevStackBox_0.1.0-1_x64-setup.exe /S /D=C:\\\\dsb | |
| \`\`\` | |
| **What's New:** | |
| - Complete server stack bundled in installer | |
| - Automatic service detection and management | |
| - Professional installation experience | |
| - Auto-updates for continuous improvements`, | |
| draft: true, | |
| prerelease: true | |
| }); | |
| return data.id; | |
| build-tauri: | |
| needs: create-release | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: 'windows-latest' | |
| args: '--target x86_64-pc-windows-msvc' | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Rust setup | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: './src-tauri -> target' | |
| - name: Sync node version and setup cache | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 'lts/*' | |
| cache: 'npm' | |
| - name: Install frontend dependencies | |
| run: npm install | |
| - name: Prepare server binaries for bundling | |
| run: npm run prepare-binaries | |
| - name: Build the app with bundled servers | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} | |
| TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} | |
| with: | |
| releaseId: ${{ needs.create-release.outputs.release_id }} | |
| args: ${{ matrix.args }} | |
| publish-release: | |
| permissions: | |
| contents: write | |
| runs-on: ubuntu-22.04 | |
| needs: [create-release, build-tauri] | |
| steps: | |
| - name: Publish release | |
| id: publish-release | |
| uses: actions/github-script@v7 | |
| env: | |
| release_id: ${{ needs.create-release.outputs.release_id }} | |
| with: | |
| script: | | |
| await github.rest.repos.updateRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: process.env.release_id, | |
| draft: false, | |
| prerelease: true | |
| }); |