fix
This commit is contained in:
@@ -28,8 +28,9 @@ pub async fn release_run(
|
||||
password: String,
|
||||
with_api: bool,
|
||||
with_mcp: bool,
|
||||
with_web: bool,
|
||||
) -> CmdResult<()> {
|
||||
launcher.release_run(password, with_api, with_mcp).await
|
||||
launcher.release_run(password, with_api, with_mcp, with_web).await
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
|
||||
@@ -2496,7 +2496,7 @@ impl Launcher {
|
||||
|
||||
/// Start a release. Returns once it has started, not when it is done: its output arrives
|
||||
/// in the console panel, which reads `release_console` as it fills.
|
||||
pub async fn release_run(&self, password: String, with_api: bool, with_mcp: bool) -> Result<(), String> {
|
||||
pub async fn release_run(&self, password: String, with_api: bool, with_mcp: bool, with_web: bool) -> Result<(), String> {
|
||||
// Two at once would interleave into one buffer and fight over the same build dirs.
|
||||
if self.release_console.lock().is_ok_and(|c| c.is_running()) {
|
||||
return Err("A release is already running: wait for it to finish.".to_string());
|
||||
@@ -2533,6 +2533,7 @@ impl Launcher {
|
||||
launcher_next.as_deref(),
|
||||
with_api && plan.docker,
|
||||
with_mcp && plan.docker,
|
||||
with_web && plan.docker,
|
||||
&password,
|
||||
&self.release_console,
|
||||
)
|
||||
|
||||
@@ -384,6 +384,7 @@ pub fn run_release(
|
||||
launcher_version: Option<&str>,
|
||||
with_api: bool,
|
||||
with_mcp: bool,
|
||||
with_web: bool,
|
||||
sudo: &str,
|
||||
console: &Shared,
|
||||
) -> Result<PathBuf, String> {
|
||||
@@ -430,6 +431,19 @@ pub fn run_release(
|
||||
));
|
||||
}
|
||||
|
||||
if with_web {
|
||||
// From _WEB in the Engine checkout. Its Dockerfile runs npm inside the image, so this
|
||||
// needs Docker and nothing else - no Node, no node_modules on this PC.
|
||||
body.push_str(&format!(
|
||||
"Write-Host '=== ODIAN WEB ===' -ForegroundColor Cyan
|
||||
& '{}'
|
||||
if ($LASTEXITCODE -eq 2) {{ Write-Host 'web: already serving this commit' -ForegroundColor Yellow }}
|
||||
elseif ($LASTEXITCODE -ne 0) {{ throw 'the web step failed' }}
|
||||
",
|
||||
scripts.join("deploy_web.ps1").display()
|
||||
));
|
||||
}
|
||||
|
||||
if with_mcp {
|
||||
// LAST, always. The MCP serves /download/* and proxies /dhp, so rolling it interrupts
|
||||
// the very road the steps above publish over; anything still in flight would fail.
|
||||
|
||||
Reference in New Issue
Block a user