Add github actions workflow for unused deps (#7681)
Some checks are pending
Canary / Prepare Version (push) Waiting to run
Canary / build-cli (push) Blocked by required conditions
Canary / Upload Install Script (push) Blocked by required conditions
Canary / bundle-desktop (push) Blocked by required conditions
Canary / bundle-desktop-linux (push) Blocked by required conditions
Canary / bundle-desktop-windows (push) Blocked by required conditions
Canary / Release (push) Blocked by required conditions
Cargo Deny / deny (push) Waiting to run
Unused Dependencies / machete (push) Waiting to run
CI / Check Rust Code Format (push) Blocked by required conditions
CI / changes (push) Waiting to run
CI / Build and Test Rust Project (push) Blocked by required conditions
CI / Lint Rust Code (push) Blocked by required conditions
CI / Check OpenAPI Schema is Up-to-Date (push) Blocked by required conditions
CI / Test and Lint Electron Desktop App (push) Blocked by required conditions
Live Provider Tests / check-fork (push) Waiting to run
Live Provider Tests / changes (push) Blocked by required conditions
Live Provider Tests / Build Binary (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (Code Execution) (push) Blocked by required conditions
Live Provider Tests / Compaction Tests (push) Blocked by required conditions
Live Provider Tests / goose server HTTP integration tests (push) Blocked by required conditions
Publish Docker Image / docker (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run

Signed-off-by: Rodolfo Olivieri <rodolfo.olivieri3@gmail.com>
This commit is contained in:
Rodolfo Olivieri 2026-03-12 09:51:50 -03:00 committed by GitHub
parent f65530bce5
commit f16fe88f2d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 541 additions and 922 deletions

24
.github/workflows/cargo-machete.yml vendored Normal file
View file

@ -0,0 +1,24 @@
name: "Unused Dependencies"
on:
push:
paths:
- '.github/workflows/cargo-machete.yml'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '**/*.rs'
pull_request:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
- '**/*.rs'
workflow_dispatch:
jobs:
machete:
runs-on: ubuntu-latest
if: github.repository == 'block/goose'
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: bnjbvr/cargo-machete@7959c845782fed02ee69303126d4a12d64f1db18 # v0.9.1

1363
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,9 @@
[workspace]
members = ["crates/*"]
members = [
"crates/*",
# Mainly for cargo-machete to not error out during inspection.
"vendor/v8"
]
resolver = "2"
[workspace.package]
@ -84,4 +88,4 @@ tree-sitter-swift = "0.7"
tree-sitter-typescript = "0.23"
[patch.crates-io]
v8 = { path = "vendor/v8" }
v8 = { path = "vendor/v8" }

View file

@ -11,7 +11,6 @@ description.workspace = true
proc-macro = true
[dependencies]
proc-macro2 = "1"
quote = "1"
syn = { version = "2", features = ["full", "extra-traits"] }

View file

@ -46,14 +46,12 @@ serde = { workspace = true, features = ["derive"] }
tower-http = { workspace = true, features = ["cors"] }
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
async-stream = { workspace = true }
bytes = { workspace = true }
http-body-util = "0.1.3"
uuid = { workspace = true, features = ["v7"] }
schemars = { workspace = true, features = ["derive"] }
goose-acp-macros = { path = "../goose-acp-macros" }
[dev-dependencies]
assert-json-diff = "2.0.2"
async-trait = { workspace = true }
goose-test-support = { path = "../goose-test-support" }
wiremock = { workspace = true }
@ -61,3 +59,7 @@ tempfile = { workspace = true }
test-case = { workspace = true }
axum = { workspace = true }
rmcp = { workspace = true, features = ["transport-streamable-http-server"] }
[package.metadata.cargo-machete]
# Used to provide extras imports for sacp
ignored = ["agent-client-protocol-schema"]

View file

@ -27,7 +27,6 @@ rmcp = { workspace = true }
clap = { workspace = true }
cliclack = "0.3.5"
console = "0.16.1"
uuid = { workspace = true }
dotenvy = { workspace = true }
bat = { version = "0.26.1", default-features = false, features = ["regex-onig"] }
anyhow = { workspace = true }
@ -77,3 +76,9 @@ disable-update = []
tempfile = { workspace = true }
test-case = { workspace = true }
tokio = { workspace = true }
[package.metadata.cargo-machete]
ignored = [
# Used only in windows
"winapi",
]

View file

@ -24,7 +24,6 @@ workspace = true
rmcp = { workspace = true, features = ["server", "client", "transport-io", "macros"] }
anyhow = { workspace = true }
tokio = { workspace = true }
tokio-stream = { workspace = true, features = ["io-util"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
tracing-appender = { workspace = true }
@ -33,42 +32,15 @@ base64 = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
schemars = { workspace = true }
shellexpand = { workspace = true }
indoc = { workspace = true }
xcap = "=0.4.0"
reqwest = { workspace = true, features = ["json", "rustls", "system-proxy"], default-features = false }
chrono = { workspace = true }
etcetera = { workspace = true }
tempfile = { workspace = true }
include_dir = { workspace = true }
regex = { workspace = true }
once_cell = { workspace = true }
ignore = { workspace = true }
lopdf = "0.36.0"
docx-rs = "0.4.7"
image = { version = "0.24.9", features = ["jpeg"] }
umya-spreadsheet = "2.2.3"
which = {workspace = true}
lru = { workspace = true }
tree-sitter = "0.26"
tree-sitter-python = "0.25"
tree-sitter-rust = "0.24"
tree-sitter-javascript = "0.25"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-kotlin-ng = "1.1"
tree-sitter-swift = "0.7"
tree-sitter-ruby = "0.23"
rayon = "1.10"
libc = "0.2"
# TODO: Fork mpatch or replace with a custom implementation using `similar` crate
# for fuzzy patch matching. Current crate has limited maintenance (single maintainer,
# ~1000 downloads). Pinned to exact version to prevent supply chain attacks.
mpatch = "=0.2.0"
tokio-util = { workspace = true }
shell-words = "1.1.1"
[dev-dependencies]
serial_test = { workspace = true }
[features]

View file

@ -51,8 +51,6 @@ socket2 = "0.6.1"
fs2 = { workspace = true }
rustls = { version = "0.23", features = ["aws_lc_rs"] }
uuid = { workspace = true }
once_cell = { workspace = true }
dirs = { workspace = true }
rcgen = "0.13"
axum-server = { version = "0.8.0", features = ["tls-rustls"] }
aws-lc-rs = "1.16.0"
@ -70,6 +68,9 @@ path = "src/bin/generate_schema.rs"
[dev-dependencies]
tower = "0.5.2"
env-lock = { workspace = true }
wiremock = { workspace = true }
tempfile.workspace = true
[package.metadata.cargo-machete]
ignored = [
# Used only in windows
"winreg",
]

View file

@ -19,3 +19,7 @@ path = "examples/mcp_fixture_server.rs"
[lints]
workspace = true
[package.metadata.cargo-machete]
# Used for tool description in mcp.rs
ignored = ["serde_json"]

View file

@ -112,7 +112,6 @@ candle-nn = { version = "0.9", default-features = false }
candle-transformers = { version = "0.9", default-features = false }
byteorder = "1.5.0"
tokenizers = { version = "0.21.0", default-features = false, features = ["onig"] }
hf-hub = { version = "0.5.0", default-features = false, features = ["tokio"] }
symphonia = { version = "0.5", features = ["all"] }
rubato = "0.16"
zip = "0.6"
@ -138,7 +137,6 @@ tree-sitter-swift = { workspace = true }
tree-sitter-typescript = { workspace = true }
which = { workspace = true }
pctx_code_mode = { version = "^0.2.3", optional = true }
unbinder = "0.1.7"
pulldown-cmark = "0.13.0"
llama-cpp-2 = { version = "0.1.137", features = ["sampler"] }
encoding_rs = "0.8.35"
@ -183,3 +181,12 @@ path = "src/bin/analyze_cli.rs"
[[bin]]
name = "build_canonical_models"
path = "src/providers/canonical/build_canonical_models.rs"
[package.metadata.cargo-machete]
ignored = [
# Used only on windows
"winapi",
# Used to provide sacp additional schemas to deserialization
"agent-client-protocol-schema"
]