mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-20 02:08:47 +00:00
cli: verify vscode server integrity before committing to cache (#191792)
Fixes #191469
This commit is contained in:
@@ -14,7 +14,7 @@ use crate::tunnels::paths::{get_server_folder_name, SERVER_FOLDER_NAME};
|
|||||||
use crate::update_service::{
|
use crate::update_service::{
|
||||||
unzip_downloaded_release, Platform, Release, TargetKind, UpdateService,
|
unzip_downloaded_release, Platform, Release, TargetKind, UpdateService,
|
||||||
};
|
};
|
||||||
use crate::util::command::{capture_command, kill_tree};
|
use crate::util::command::{capture_command, capture_command_and_check_status, kill_tree};
|
||||||
use crate::util::errors::{wrap, AnyError, CodeError, ExtensionInstallFailed, WrappedError};
|
use crate::util::errors::{wrap, AnyError, CodeError, ExtensionInstallFailed, WrappedError};
|
||||||
use crate::util::http::{self, BoxedHttp};
|
use crate::util::http::{self, BoxedHttp};
|
||||||
use crate::util::io::SilentCopyProgress;
|
use crate::util::io::SilentCopyProgress;
|
||||||
@@ -416,11 +416,23 @@ impl<'a> ServerBuilder<'a> {
|
|||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
unzip_downloaded_release(
|
let server_dir = target_dir.join(SERVER_FOLDER_NAME);
|
||||||
&archive_path,
|
unzip_downloaded_release(&archive_path, &server_dir, SilentCopyProgress())?;
|
||||||
&target_dir.join(SERVER_FOLDER_NAME),
|
|
||||||
SilentCopyProgress(),
|
let output = capture_command_and_check_status(
|
||||||
)?;
|
server_dir
|
||||||
|
.join("bin")
|
||||||
|
.join(self.server_params.release.quality.server_entrypoint()),
|
||||||
|
&["--version"],
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.map_err(|e| wrap(e, "error checking server integrity"))?;
|
||||||
|
|
||||||
|
trace!(
|
||||||
|
self.logger,
|
||||||
|
"Server integrity verified, version: {}",
|
||||||
|
String::from_utf8_lossy(&output.stdout).replace('\n', " / ")
|
||||||
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user