opm alpha render-veneer semver command renders all referenced bundle images in the veneer before constructing channels/edges between the elements, but relies on Candidates channel being complete:
for _, b := range sv.Candidate.Bundles {
r := action.Render{
AllowedRefMask: action.RefBundleImage,
Refs: []string{b.Image},
Registry: v.Reg,
}
c, err := r.Run(ctx)
if err != nil {
return nil, err
}
cfgs = append(cfgs, *c)
}
out = *combineConfigs(cfgs)
If Candidates isn't complete, then the resulting channel generation will fail, e.g.:
2022/08/03 13:53:09 semver "/tmp/wip.yaml": semver-render: unable to post-process bundle info: supplied bundle image name "quay.io/XXXX/olm:testoperator.v0.2.1" not found in rendered bundle images
Need to accumulate the list of all bundles and pre-render them for channel/edge processing.