-
Story
-
Resolution: Superseded
-
Normal
-
None
-
None
Use a dual-branch approach where commits get auto-promoted to "production" if they pass certain QA tests. Otherwise, devs can continue to commit to master but production will not update until problems are fixed. This will protect users, allow for occasional mistakes, without impacting velocity.
Things to check:
make.defaults syntax:
import portage from portage.util import getconfig try: a = getconfig("/etc/make.conf") except portage.exception.ParseError: print("bad file!")
also check ebuilds are fetchable and parseable (this should be possible to do from the kit-fixups directory itself, without going through the process of generating meta-repo. "ebuild foo.ebuild fetch" – check for non-zero return code.)
As above, but "ebuild foo.ebuild digest" and check for any changes to Manifest to see if manifest is complete/correct.
To get near 100% coverage, we will want to read in packages(.mask/.unmask/etc.) files and parse them and catch any parsing exceptions. Will need zmedico's assistance to track down some code samples to do this.