Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,39 @@ jobs:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: cargo run --example agent_tool --features http_client

fuzz-check:
name: Fuzz Compile Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly

- name: Install cargo-fuzz
uses: taiki-e/cache-cargo-install-action@v3
with:
tool: cargo-fuzz
locked: true

- name: Verify fuzz targets compile
working-directory: crates/bashkit
run: cargo +nightly fuzz build

# Gate job for branch protection — name must stay "Check"
check:
name: Check
if: always()
needs: [lint, audit, test, examples]
needs: [lint, audit, test, examples, fuzz-check]
runs-on: ubuntu-latest
steps:
- name: Verify all jobs passed
run: |
if [[ "${{ needs.lint.result }}" != "success" ]] || \
[[ "${{ needs.audit.result }}" != "success" ]] || \
[[ "${{ needs.test.result }}" != "success" ]] || \
[[ "${{ needs.examples.result }}" != "success" ]]; then
[[ "${{ needs.examples.result }}" != "success" ]] || \
[[ "${{ needs.fuzz-check.result }}" != "success" ]]; then
echo "One or more required jobs failed"
exit 1
fi
2 changes: 1 addition & 1 deletion crates/bashkit/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ base64 = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }

# Embedded Python interpreter (optional)
monty = { git = "https://github.com/pydantic/monty", version = "0.0.7", optional = true }
monty = { git = "https://github.com/pydantic/monty", tag = "v0.0.7", optional = true }

[features]
default = []
Expand Down
7 changes: 7 additions & 0 deletions crates/bashkit/fuzz/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Fuzz artifacts and corpus (large, machine-generated)
target/
corpus/
artifacts/

# Override root .gitignore: commit Cargo.lock for reproducible fuzz builds
!Cargo.lock
Loading
Loading