require '/tmp/radio-bao-proof-final-gates'
target='/tmp/radio-bao-proof-workspace-target'
def paired(name,args,**opts)
r=run(name,args,**opts)
run('parent-'+name,args,kind: :parent,**opts) if r['exit_code']!=0
end
paired('owner-clippy-all-final',['cargo','clippy','--locked','--offline','-p','cyber-bao','--all-features','--all-targets','--','-D','warnings'],target:'/tmp/radio-bao-proof-clippy-target')
{'all'=>['--all-features'],'none'=>['--no-default-features'],'default'=>[]}.each do |name,flags|
paired('workspace-clippy-'+name,['cargo','clippy','--locked','--offline','--workspace',*flags,'--all-targets','--lib','--bins','--tests','--benches','--examples'],target:target)
end
paired('workspace-doctests',['cargo','test','--locked','--offline','--workspace','--all-features','--doc'],target:target)
paired('workspace-msrv',['cargo','check','--locked','--offline','--workspace','--all-targets'],toolchain:'1.89.0',target:'/tmp/radio-bao-proof-msrv-target')
paired('workspace-nightly-docs',['cargo','doc','--locked','--offline','--workspace','--all-features','--no-deps','--document-private-items'],toolchain:'nightly-2025-10-09',extra:['RUSTDOCFLAGS=--cfg docsrs'],target:'/tmp/radio-bao-proof-nightly-target')
paired('workspace-format',['cargo','make','format-check'],strict:false,target:target)
paired('workspace-deny',['cargo','deny','--workspace','--all-features','check','-Dwarnings'],strict:false,extra:['CARGO_NET_OFFLINE=true'],target:target)
%w[iroh iroh-bench iroh-dns-server iroh-relay].each do |package|
run('ci-selector-'+package,['cargo','check','--locked','--offline','-p',package,'--all-features','--lib','--bins'],target:target)
end