Got my poudriere server up and running fairly steady. However, sometimes I see a package that I want built will succeed in one run but fail in another. I would like to know how others preserve their successful builds in these situations. How do you do it?
For example, with a build in February, I was able to get Chromium 79 to build. Later, in June, Chromium 83 would fail. Before I began the build, I didn't know Chromium would fail. It seems to me that when we initiate the poudriere build, we are always at risk that a build will fail. Further, we are creating a situation where we know we are overwriting our past jails. A backup scheme might save us.
When building with poudriere, what kind of backups do you use to preserve the successful builds? Do you snapshot each jail and zfs send and receive somewhere? Do you put the successful binaries in a git repo? rsync? What do you do?
Is there a way to script a poudriere command that will report the successful from failed builds? Somehow the web server tied to poudriere knows. Where and how does it find that information? Can this be readily discovered to identify a successful build held in a jail? If one is identified, is it possible to also identify the matching dependency ports and their builds, which were also successful?
Has someone already built such a program or features of a program? Where should we look for those? It seems like, to be practical, a backup scheme would want to filter for the last successful constructions; maybe keep the last "n" number of binaries that worked; this way, the storage would not be clogged with more unsorted examples of package construction failure.
I am about to try to devise such a plan for myself, and any advice you might offer could be helpful. Thanks.
For example, with a build in February, I was able to get Chromium 79 to build. Later, in June, Chromium 83 would fail. Before I began the build, I didn't know Chromium would fail. It seems to me that when we initiate the poudriere build, we are always at risk that a build will fail. Further, we are creating a situation where we know we are overwriting our past jails. A backup scheme might save us.
When building with poudriere, what kind of backups do you use to preserve the successful builds? Do you snapshot each jail and zfs send and receive somewhere? Do you put the successful binaries in a git repo? rsync? What do you do?
Is there a way to script a poudriere command that will report the successful from failed builds? Somehow the web server tied to poudriere knows. Where and how does it find that information? Can this be readily discovered to identify a successful build held in a jail? If one is identified, is it possible to also identify the matching dependency ports and their builds, which were also successful?
Has someone already built such a program or features of a program? Where should we look for those? It seems like, to be practical, a backup scheme would want to filter for the last successful constructions; maybe keep the last "n" number of binaries that worked; this way, the storage would not be clogged with more unsorted examples of package construction failure.
I am about to try to devise such a plan for myself, and any advice you might offer could be helpful. Thanks.