9696 - name : fabricx-endorser-for-threshold-rule
9797 pkg : ./token/services/network/fabricx/endorsement
9898 func : FuzzEndorserForThresholdRuleNoPanic
99+ # The evm driver is its own Go module, so its targets run from that module's root rather
100+ # than the repository root. `dir` defaults to "." for every entry above.
101+ - name : evm-recover-endorsement-signature
102+ dir : ./x/token/services/network/evm
103+ pkg : ./eip712
104+ func : FuzzRecoverAddress
105+ - name : evm-signer-from-bytes
106+ dir : ./x/token/services/network/evm
107+ pkg : ./eip712
108+ func : FuzzNewSignerFromBytes
109+ - name : evm-envelope-from-bytes
110+ dir : ./x/token/services/network/evm
111+ pkg : .
112+ func : FuzzEnvelopeFromBytes
113+ - name : evm-compute-anchor
114+ dir : ./x/token/services/network/evm
115+ pkg : .
116+ func : FuzzComputeAnchor
117+ - name : evm-abi-decode-bytes
118+ dir : ./x/token/services/network/evm
119+ pkg : ./abi
120+ func : FuzzDecodeBytes
121+ - name : evm-abi-decode-bool-array
122+ dir : ./x/token/services/network/evm
123+ pkg : ./abi
124+ func : FuzzDecodeBoolArray
125+ - name : evm-abi-decode-uint64
126+ dir : ./x/token/services/network/evm
127+ pkg : ./abi
128+ func : FuzzDecodeUint64
129+ - name : evm-abi-decode-bytes32
130+ dir : ./x/token/services/network/evm
131+ pkg : ./abi
132+ func : FuzzDecodeBytes32
133+ - name : evm-hex-to-address
134+ dir : ./x/token/services/network/evm
135+ pkg : ./client
136+ func : FuzzHexToAddress
137+ - name : evm-hex-to-hash
138+ dir : ./x/token/services/network/evm
139+ pkg : ./client
140+ func : FuzzHexToHash
141+ - name : evm-bytes-to-address
142+ dir : ./x/token/services/network/evm
143+ pkg : ./client
144+ func : FuzzBytesToAddress
99145
100146 steps :
101147 - name : Checkout code
@@ -116,6 +162,7 @@ jobs:
116162 fuzz-${{ matrix.name }}-
117163
118164 - name : Run fuzz campaign
165+ working-directory : ${{ matrix.dir || '.' }}
119166 run : |
120167 set -o pipefail
121168 go test ${{ matrix.pkg }} \
@@ -126,6 +173,9 @@ jobs:
126173
127174 - name : Collect crash artifacts
128175 if : failure()
176+ # Same directory the campaign ran in: both the log and the corpus that reproduces the crash are
177+ # written relative to it, and losing them would leave only the fact that something failed.
178+ working-directory : ${{ matrix.dir || '.' }}
129179 run : |
130180 mkdir -p fuzz-failure
131181 cp fuzz-output.log fuzz-failure/ || true
@@ -137,7 +187,7 @@ jobs:
137187 uses : actions/upload-artifact@v4
138188 with :
139189 name : fuzz-failure-${{ matrix.name }}
140- path : fuzz-failure/
190+ path : ${{ matrix.dir || '.' }}/ fuzz-failure/
141191 retention-days : 30
142192
143193 - name : File or update GitHub issue
0 commit comments