1313 - " common/**"
1414 - " core/**"
1515 - " metrics/**"
16- - " .github/workflows/build-go.yml"
16+ - " .github/workflows/build-and-test- go.yml"
1717env :
1818 FFI_FOR_RELEASE : false
1919jobs :
@@ -31,15 +31,83 @@ jobs:
3131 - name : foundry-toolchain
3232 uses : foundry-rs/foundry-toolchain@v1.2.0
3333
34+ - name : Cache SP1 bindings
35+ id : cache-sp1
36+ uses : actions/cache@v4
37+ with :
38+ path : operator/sp1/lib/libsp1_verifier_ffi.so
39+ key : sp1-bindings-${{ runner.os }}-${{ hashFiles('operator/sp1/lib/**/*.rs', 'operator/sp1/lib/Cargo.*') }}
40+
3441 - name : Build SP1 bindings
42+ if : steps.cache-sp1.outputs.cache-hit != 'true'
3543 run : make build_sp1_linux
3644
45+ - name : Clean SP1 build artifacts
46+ if : steps.cache-sp1.outputs.cache-hit != 'true'
47+ run : rm -rf operator/sp1/lib/target
48+
49+ - name : Cache Risc Zero bindings
50+ id : cache-risc-zero
51+ uses : actions/cache@v4
52+ with :
53+ path : operator/risc_zero/lib/librisc_zero_verifier_ffi.so
54+ key : risc-zero-bindings-${{ runner.os }}-${{ hashFiles('operator/risc_zero/lib/**/*.rs', 'operator/risc_zero/lib/Cargo.*') }}
55+
3756 - name : Build Risc Zero go bindings
57+ if : steps.cache-risc-zero.outputs.cache-hit != 'true'
3858 run : make build_risc_zero_linux
3959
60+ - name : Clean Risc Zero build artifacts
61+ if : steps.cache-risc-zero.outputs.cache-hit != 'true'
62+ run : rm -rf operator/risc_zero/lib/target
63+
64+ - name : Cache Merkle Tree bindings
65+ id : cache-merkle-tree
66+ uses : actions/cache@v4
67+ with :
68+ path : |
69+ operator/merkle_tree/lib/libmerkle_tree.so
70+ operator/merkle_tree/lib/libmerkle_tree.a
71+ key : merkle-tree-bindings-${{ runner.os }}-${{ hashFiles('operator/merkle_tree/lib/**/*.rs', 'operator/merkle_tree/lib/Cargo.*') }}
72+
4073 - name : Build Merkle Tree bindings
74+ if : steps.cache-merkle-tree.outputs.cache-hit != 'true'
4175 run : make build_merkle_tree_linux
4276
77+ - name : Clean Merkle Tree build artifacts
78+ if : steps.cache-merkle-tree.outputs.cache-hit != 'true'
79+ run : rm -rf operator/merkle_tree/lib/target
80+
81+ - name : Cache Mina bindings
82+ id : cache-mina
83+ uses : actions/cache@v4
84+ with :
85+ path : operator/mina/lib/libmina_state_verifier_ffi.so
86+ key : mina-bindings-${{ runner.os }}-${{ hashFiles('operator/mina/lib/**/*.rs', 'operator/mina/lib/Cargo.*') }}
87+
88+ - name : Build Mina bindings
89+ if : steps.cache-mina.outputs.cache-hit != 'true'
90+ run : make build_mina_linux
91+
92+ - name : Clean Mina build artifacts
93+ if : steps.cache-mina.outputs.cache-hit != 'true'
94+ run : rm -rf operator/mina/lib/target
95+
96+ - name : Cache Mina Account bindings
97+ id : cache-mina-account
98+ uses : actions/cache@v4
99+ with :
100+ path : operator/mina_account/lib/libmina_account_verifier_ffi.so
101+ key : mina-account-bindings-${{ runner.os }}-${{ hashFiles('operator/mina_account/lib/**/*.rs', 'operator/mina_account/lib/Cargo.*') }}
102+
103+ - name : Build Mina Account bindings
104+ if : steps.cache-mina-account.outputs.cache-hit != 'true'
105+ run : make build_mina_account_linux
106+
107+ - name : Clean Mina Account build artifacts
108+ if : steps.cache-mina-account.outputs.cache-hit != 'true'
109+ run : rm -rf operator/mina_account/lib/target
110+
43111 - name : Build operator
44112 run : go build operator/cmd/main.go
45113
0 commit comments