-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (100 loc) · 3.35 KB
/
Copy pathci.yml
File metadata and controls
130 lines (100 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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