fix: gemini acp without an unexpected terminal window (#8101)
This commit is contained in:
@@ -41,7 +41,7 @@ jobs:
|
|||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1
|
||||||
|
|
||||||
- name: Run cargo fmt
|
- name: Run cargo fmt
|
||||||
run: cargo fmt --check
|
run: cargo fmt --check
|
||||||
@@ -55,7 +55,7 @@ jobs:
|
|||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -63,7 +63,7 @@ jobs:
|
|||||||
sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev
|
sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev
|
||||||
|
|
||||||
- name: Cache Cargo artifacts
|
- name: Cache Cargo artifacts
|
||||||
uses: Swatinem/rust-cache@v2
|
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
|
||||||
|
|
||||||
- name: Build and Test
|
- name: Build and Test
|
||||||
run: |
|
run: |
|
||||||
@@ -76,6 +76,31 @@ jobs:
|
|||||||
RUST_MIN_STACK: 8388608
|
RUST_MIN_STACK: 8388608
|
||||||
|
|
||||||
|
|
||||||
|
rust-build-windows:
|
||||||
|
name: Build Rust Project on Windows
|
||||||
|
runs-on: windows-latest
|
||||||
|
needs: changes
|
||||||
|
if: needs.changes.outputs.code == 'true' || github.event_name != 'pull_request'
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
|
||||||
|
- name: Cache Cargo artifacts
|
||||||
|
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
|
||||||
|
with:
|
||||||
|
key: windows-ci
|
||||||
|
|
||||||
|
- name: Setup Rust
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
rustup show
|
||||||
|
rustup target add x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cargo build --target x86_64-pc-windows-msvc
|
||||||
|
env:
|
||||||
|
CARGO_INCREMENTAL: "0"
|
||||||
|
|
||||||
rust-lint:
|
rust-lint:
|
||||||
name: Lint Rust Code
|
name: Lint Rust Code
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -84,7 +109,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
@@ -106,7 +131,7 @@ jobs:
|
|||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -114,7 +139,7 @@ jobs:
|
|||||||
sudo apt install -y libdbus-1-dev libxcb1-dev
|
sudo apt install -y libdbus-1-dev libxcb1-dev
|
||||||
|
|
||||||
- name: Cache Cargo artifacts
|
- name: Cache Cargo artifacts
|
||||||
uses: Swatinem/rust-cache@v2
|
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
|
||||||
|
|
||||||
- name: Install Node.js Dependencies for OpenAPI Check
|
- name: Install Node.js Dependencies for OpenAPI Check
|
||||||
run: source ../../bin/activate-hermit && pnpm install --frozen-lockfile
|
run: source ../../bin/activate-hermit && pnpm install --frozen-lockfile
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ impl SubprocessExt for Command {
|
|||||||
fn set_no_window(&mut self) -> &mut Self {
|
fn set_no_window(&mut self) -> &mut Self {
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
{
|
{
|
||||||
use std::os::windows::process::CommandExt;
|
|
||||||
self.creation_flags(CREATE_NO_WINDOW_FLAG);
|
self.creation_flags(CREATE_NO_WINDOW_FLAG);
|
||||||
}
|
}
|
||||||
self
|
self
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ use crate::permission::permission_confirmation::PrincipalType;
|
|||||||
use crate::permission::{Permission, PermissionConfirmation};
|
use crate::permission::{Permission, PermissionConfirmation};
|
||||||
use crate::providers::base::{MessageStream, PermissionRouting, Provider};
|
use crate::providers::base::{MessageStream, PermissionRouting, Provider};
|
||||||
use crate::providers::errors::ProviderError;
|
use crate::providers::errors::ProviderError;
|
||||||
|
use crate::subprocess::configure_subprocess;
|
||||||
|
|
||||||
/// Sentinel: resolved to SessionModelState.current_model_id at connect time.
|
/// Sentinel: resolved to SessionModelState.current_model_id at connect time.
|
||||||
pub const ACP_CURRENT_MODEL: &str = "current";
|
pub const ACP_CURRENT_MODEL: &str = "current";
|
||||||
@@ -938,6 +939,7 @@ async fn spawn_acp_process(config: &AcpProviderConfig) -> Result<Child> {
|
|||||||
cmd.env(key, value);
|
cmd.env(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configure_subprocess(&mut cmd);
|
||||||
cmd.spawn().context("failed to spawn ACP process")
|
cmd.spawn().context("failed to spawn ACP process")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ impl SubprocessExt for Command {
|
|||||||
fn set_no_window(&mut self) -> &mut Self {
|
fn set_no_window(&mut self) -> &mut Self {
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
{
|
{
|
||||||
use std::os::windows::process::CommandExt;
|
|
||||||
self.creation_flags(CREATE_NO_WINDOW_FLAG);
|
self.creation_flags(CREATE_NO_WINDOW_FLAG);
|
||||||
}
|
}
|
||||||
self
|
self
|
||||||
|
|||||||
Reference in New Issue
Block a user