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
130 changes: 130 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: CI

on:
push:
branches: [main, develop, feature/*]
pull_request:
branches: [main, develop]

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: Format check
run: cargo fmt --all -- --check

- name: Clippy
run: cargo clippy --workspace --all-targets --exclude risc0-methods -- -D warnings

- name: Build
run: cargo build --workspace --exclude risc0-methods

- name: Test
run: cargo test --workspace --exclude risc0-methods

solidity:
runs-on: ubuntu-latest
defaults:
run:
working-directory: contracts
steps:
- uses: actions/checkout@v4

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Build contracts
run: forge build

- name: Run all Solidity tests
run: forge test -vv

- name: Run conformance tests specifically
run: forge test --match-path test/KernelOutputParser.Conformance.t.sol -vvv

agent-pack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: Build agent-pack
run: cargo build -p agent-pack

- name: Test agent-pack
run: cargo test -p agent-pack

- name: Verify example manifest structure
run: |
cargo run -p agent-pack -- verify \
--structure-only \
--manifest dist/agent-pack.example.json

- name: Create bundle from fixture
run: |
cargo run -p agent-pack -- pack \
--manifest crates/agent-pack/tests/fixtures/test-manifest.json \
--elf crates/agent-pack/tests/fixtures/mock-guest.elf \
--out bundle-example

- name: Verify packed bundle
run: |
cargo run -p agent-pack -- verify \
--manifest bundle-example/agent-pack.json \
--base-dir bundle-example

- name: Upload bundle artifact
uses: actions/upload-artifact@v4
with:
name: agent-pack-bundle-example
path: bundle-example/

agent-pack-onchain:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: Build agent-pack with onchain feature
run: cargo build -p agent-pack --features onchain

- name: Test agent-pack with onchain feature
run: cargo test -p agent-pack --features onchain

- name: Clippy with onchain feature
run: cargo clippy -p agent-pack --features onchain -- -D warnings

# Optional: Build with risc0 feature (requires additional setup)
# Uncomment when risc0 toolchain is available in CI
# agent-pack-risc0:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@stable
# - uses: risc0/risc0/.github/actions/install@main
# - name: Build with risc0 feature
# run: cargo build -p agent-pack --features risc0
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@ CLAUDE.md
target/
*/target/
/.claude
/prompts
/prompts
/bundles/*
/run/*

# Generated agent-pack manifests (keep only the example)
dist/agent-pack.json
20 changes: 20 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ members = [

# Tools
"crates/agent-pack",
"crates/reference-integrator",
]

[workspace.dependencies]
Expand Down
Loading