Skip to content

Fix remaining emoji in GitHub Actions - remove character #16

Fix remaining emoji in GitHub Actions - remove character

Fix remaining emoji in GitHub Actions - remove character #16

Workflow file for this run

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\//, '')} - Apache 64-bit + Auto-Update`,
body: `**DevStackBox v${context.ref.replace(/refs\/tags\//, '')}**
**Major Fixes in This Release:**
- **64-bit Apache** - Fixed "Unsupported 16-Bit Application" error
- **Dynamic Configuration** - MSI installer now works with correct paths
- **Enhanced Auto-Updater** - Improved update detection and installation
- **Architecture Detection** - Better error messages for compatibility issues
**What's Included:**
- **Apache 2.4.65 (64-bit)** - Compatible with 64-bit Windows
- **MySQL 8.0 Database** (embedded)
- **PHP 8.2** (with extensions)
- **phpMyAdmin** (database management)
- **Modern React UI** (dark/light mode)
- **Auto-Updates** via GitHub Releases
**Installation:**
1. Download the NSIS installer (DevStackBox_*_x64-setup.exe)
2. Run as administrator
3. Install to C:\\\\dsb\\\\ (recommended) or custom location
4. Launch DevStackBox from Start Menu
5. Start Apache/MySQL services from the UI
6. Access http://localhost for your projects
7. Access http://localhost/phpmyadmin for database management
**Auto-Update Testing:**
- Install this version to test auto-update functionality
- Updates check every 2 hours in this alpha version
- Manual update check available via "Check Updates" button
**Troubleshooting:**
- If Apache won't start, use the "Debug Installation" feature
- All paths are now dynamically resolved based on installation directory
- Architecture compatibility is automatically checked
**Note:** This is an alpha release for testing. Please report any issues on GitHub.`,
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
shell: powershell
- name: Verify server components are ready
run: |
Write-Host "Verifying server components in src-tauri..." -ForegroundColor Cyan
$components = @("apache", "mysql", "php", "phpmyadmin", "www", "config")
foreach ($component in $components) {
$path = "src-tauri/$component"
if (Test-Path $path) {
$size = (Get-ChildItem -Path $path -Recurse | Measure-Object -Property Length -Sum).Sum
$sizeMB = [math]::Round($size/1MB, 2)
Write-Host "SUCCESS $component : $sizeMB MB" -ForegroundColor Green
} else {
Write-Host "MISSING $component : Not found" -ForegroundColor Red
}
}
Write-Host "Ready for Tauri build" -ForegroundColor Blue
shell: powershell
- name: Build the app
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
});