@@ -3389,6 +3389,16 @@ def main():
33893389 p .add_argument ('--variant' , choices = ('full' , 'bitcoin-only' ),
33903390 default = os .environ .get ('KK_FIRMWARE_VARIANT' , 'full' ),
33913391 help = 'Product variant whose required report coverage is validated' )
3392+ p .add_argument ('--firmware-sha' , default = None ,
3393+ help = 'Exact firmware commit represented by this report' )
3394+ p .add_argument ('--python-sha' , default = None ,
3395+ help = 'Exact python-keepkey commit represented by this report' )
3396+ p .add_argument ('--run-url' , default = None ,
3397+ help = 'Exact CI run that produced the evidence' )
3398+ p .add_argument ('--generator-sha256' , default = None ,
3399+ help = 'Combined wrapper/renderer digest' )
3400+ p .add_argument ('--arm-manifest-sha256' , default = None ,
3401+ help = 'Digest binding the complete ARM manifest set' )
33923402 args = p .parse_args ()
33933403
33943404 fw = args .fw_version
@@ -3429,6 +3439,17 @@ def main():
34293439 print (f' { tid } { mod } ::{ meth } -> { status } ' )
34303440 sys .exit (1 )
34313441
3442+ provenance = [
3443+ ('firmware' , args .firmware_sha ),
3444+ ('python' , args .python_sha ),
3445+ ('run' , args .run_url ),
3446+ ('generator' , args .generator_sha256 ),
3447+ ('arm-manifests' , args .arm_manifest_sha256 ),
3448+ ]
3449+ supplied = ['%s=%s' % item for item in provenance if item [1 ]]
3450+ if supplied :
3451+ os .environ ['KK_BUILD_LABEL' ] = ' | ' .join (supplied )
3452+
34323453 results = parse_junit (args .junit ) if args .junit else {}
34333454 render (args .output , fw , results , args .screenshots )
34343455
0 commit comments