Currently a build is marked as "failed" if at least building for one chroot failed and no rpms are copied to the repository.
IMHO builds should only marked as "failed" if building for all selected chroots failed. Otherwise the build should be marked as incomplete and rpms of succeeded builds should be copied to repo until the project owner deletes the build. On this way the owner can decide on his own if he wants to keep an incomplete build or if he wants to delete the build and try to get a complete build.
Yes, I have to agree with that. Also, an option to delete only the failed chroot would be good. For example, I have x86 builds failed, but x86_64 builds succeeded. It would be good to have the option to delete the x86 if I want and mark the build as succeed(automatically).
After some discussion, we've decided not to expand set of build statuses. It's already quite confusing and adding one more status only increase complexity.
You should not care about failed builds, just fix package and submit a new build.