fix: résoudre python-embed relativement à l'exe + copier runtime dans output dir
CI / lint (push) Successful in 30s
CI / security (push) Successful in 16s
CI / test (push) Successful in 29s
CI / build (push) Successful in 8s
CI / e2e (push) Failing after 42s
Desktop Build / build-windows (push) Has been cancelled
Desktop Build / build-linux (push) Has been cancelled

- main.rs: utiliser current_exe().parent() au lieu de ./ relatif au cwd
- build-windows.bat: étape 5b qui copie python-embed/ et backend/ dans target/release
This commit is contained in:
2026-07-26 11:02:57 -04:00
parent f3818181d4
commit fc93f550e0
2 changed files with 20 additions and 3 deletions
+11 -1
View File
@@ -53,7 +53,17 @@ if errorlevel 1 (
)
echo ✅ Build successful
REM ── 6. Signer (optionnel) ─────────────────────────────────────
REM ── 5b. Copier python-embed à côté de l'exécutable pour le dev ─────
echo [5b/6] Copying python-embed to output dir...
set "OUTDIR=target\x86_64-pc-windows-msvc\release"
if exist "%OUTDIR%\python-embed" rmdir /s /q "%OUTDIR%\python-embed"
xcopy /E /I /Q "python-embed" "%OUTDIR%\python-embed"
REM Copier aussi le backend Python
if not exist "%OUTDIR%\backend" mkdir "%OUTDIR%\backend"
xcopy /E /I /Q "..\backend" "%OUTDIR%\backend"
echo ✅ Runtime copied
REM ── 6. Résultats ───────────────────────────────────────────────────
echo [6/6] Results:
dir /b target\release\bundle\msi\*.msi 2>nul
dir /b target\release\bundle\nsis\*.exe 2>nul
+9 -2
View File
@@ -10,10 +10,17 @@ struct BackendProcess(Mutex<Option<Child>>);
// ── Sidecar : spawn Python backend ──────────────────────────────────────────
fn spawn_backend() -> Result<Child, String> {
// Resolve python-embed relative to the executable, not cwd
let exe_dir = std::env::current_exe()
.map_err(|e| format!("Cannot get exe path: {}", e))?
.parent()
.ok_or("Cannot get exe parent dir")?
.to_path_buf();
let python = if cfg!(target_os = "windows") {
"./python-embed/python.exe"
exe_dir.join("python-embed").join("python.exe")
} else {
"./python-embed/bin/python3"
exe_dir.join("python-embed").join("bin").join("python3")
};
let child = Command::new(python)