diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4eaebbb5e8c..8926d2d6e37 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -37,7 +37,7 @@ jobs: - name: Install Libs run: | sudo apt update -y - sudo apt install -y libdbus-1-dev libssl-dev gnome-keyring libxcb1-dev + sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev - name: Start gnome-keyring # run gnome-keyring with 'foobar' as password for the login keyring diff --git a/.github/workflows/cli-release.yml b/.github/workflows/cli-release.yml index 55aa42efe6a..3d8d76f3b62 100644 --- a/.github/workflows/cli-release.yml +++ b/.github/workflows/cli-release.yml @@ -1,7 +1,7 @@ on: push: tags: - - "v1.*" + - "v01.*" workflow_dispatch: concurrency: @@ -15,17 +15,21 @@ jobs: name: Build ${{ matrix.os }}-${{ matrix.architecture }} runs-on: ${{ matrix.os }} strategy: - fail-fast: false # Allow independent failures + fail-fast: false matrix: include: # Linux x86_64 build on Ubuntu - os: ubuntu-latest architecture: x86_64 suffix: unknown-linux-gnu + + # TODO: Linux aarch64 (ARM64) build on Ubuntu via cross-compilation - probably use `cross-rs` + # macOS x86_64 build - os: macos-latest architecture: x86_64 suffix: apple-darwin + # macOS ARM64 build - os: macos-latest architecture: aarch64 @@ -37,6 +41,7 @@ jobs: uses: actions/checkout@v4 # Step 2: Set up Rust toolchain + # This will install the specified target as per matrix - name: Set up Rust toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: @@ -50,15 +55,16 @@ jobs: rustup target add aarch64-apple-darwin echo "export PATH=$(brew --prefix llvm)/bin:\$PATH" >> $GITHUB_ENV - - name: Install Libs for Ubuntu linux + # Step 4: Install Libs for Ubuntu (x86_64 and aarch64) + - name: Install Libs for Ubuntu if: matrix.os == 'ubuntu-latest' run: | sudo apt update -y - sudo apt install -y libdbus-1-dev libssl-dev gnome-keyring libxcb1-dev + sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev gnome-keyring-daemon --components=secrets --daemonize --unlock <<< 'foobar' - # Step 4: Build the project + # Step 5: Build the project - name: Build run: | export TARGET=${{ matrix.architecture }}-${{ matrix.suffix }} @@ -67,7 +73,7 @@ jobs: tar -cjf goose-${TARGET}.tar.bz2 goose goosed echo "ARTIFACT=target/${TARGET}/release/goose-${TARGET}.tar.bz2" >> $GITHUB_ENV - # Step 5: Upload artifacts + # Step 6: Upload artifacts - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -87,7 +93,7 @@ jobs: with: merge-multiple: true - # Step 2: Publish release with artifacts + # Step 2: Create GitHub release with artifacts - name: Create GitHub release uses: ncipollo/release-action@v1 with: diff --git a/crates/goose-cli/Cargo.toml b/crates/goose-cli/Cargo.toml index 4821c57c858..76c747603df 100644 --- a/crates/goose-cli/Cargo.toml +++ b/crates/goose-cli/Cargo.toml @@ -30,7 +30,18 @@ serde_yaml = "0.9" dirs = "4.0" strum = "0.26" strum_macros = "0.26" -reqwest = "0.11.27" +reqwest = { version = "0.12.9", features = [ + "rustls-tls", + "json", + "cookies", + "gzip", + "brotli", + "deflate", + "zstd", + "charset", + "http2", + "stream" + ], default-features = false } rand = "0.8.5" async-trait = "0.1" rustyline = "15.0.0" diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index 4b68fd44301..47131df0dbe 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -9,7 +9,7 @@ description.workspace = true [build-dependencies] tokio = { version = "1.36", features = ["full"] } -reqwest = { version = "0.11", features = ["json"] } +reqwest = { version = "0.12.9", features = ["json", "rustls-tls"], default-features = false } [dependencies] mcp-core = { path = "../mcp-core" } @@ -18,7 +18,18 @@ anyhow = "1.0" thiserror = "1.0" futures = "0.3" tokio-stream = "0.1" -reqwest = { version = "0.11", features = ["json"] } +reqwest = { version = "0.12.9", features = [ + "rustls-tls", + "json", + "cookies", + "gzip", + "brotli", + "deflate", + "zstd", + "charset", + "http2", + "stream" + ], default-features = false } tokio = { version = "1.0", features = ["full"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" @@ -39,7 +50,7 @@ sha2 = "0.10" base64 = "0.21" url = "2.5" urlencoding = "2.1.3" -axum = "0.7" +axum = { version = "0.7" } tower-http = { version = "0.5", features = ["cors"] } webbrowser = "0.8" dotenv = "0.15" @@ -72,4 +83,4 @@ path = "examples/databricks_oauth.rs" [[bench]] name = "tokenization_benchmark" -harness = false +harness = false \ No newline at end of file diff --git a/crates/mcp-client/Cargo.toml b/crates/mcp-client/Cargo.toml index 6de3d390332..976613eca6e 100644 --- a/crates/mcp-client/Cargo.toml +++ b/crates/mcp-client/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" [dependencies] mcp-core = { path = "../mcp-core" } tokio = { version = "1", features = ["full"] } -reqwest = { version = "0.11", default-features = false, features = ["json", "stream", "rustls-tls"] } -reqwest-eventsource = "0.5.0" +reqwest = { version = "0.12.9", default-features = false, features = ["json", "stream", "rustls-tls"] } +reqwest-eventsource = "0.6.0" futures-util = "0.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0"