How Gentoo will rule the world (by increasing tree quality) =========================================================== Requirements: - git conversion - tinderbox from Nirbheek Chauhan's AutotuA GSoC project Here's a timeline of the workflow, with everything below the pull request automated: -------------------------------------------------------------------------------- Step 1: Simple migration -------------------------------------------------------------------------------- |---- Package(s) committed locally | |---- Push your local branch to a branch of the same name in the | Gentoo shared development repository. It's fine if this | branch is broken, it just needs to get fixed for the | next step. | |---- Submit a pull request for the branch | QA: minimal |---- Your branch is automatically merged to "experimental" branch Use case: | of the primary Gentoo repository current tree | |---- (temporary) Ship out to "experimental" rsync/git | -------------------------------------------------------------------------------- Step 2: Quality via tinderbox/simple tests -------------------------------------------------------------------------------- | |---- Tinderbox | |---- Compiles? | | | |-- No: Blame the person responsible & revert merge | |---- Yes: Merge to "compiles" git branch. | |---- Did src_test() pass? | QA: good |---- Yes: Merge to "ebuild_tested" git branch. Use case: | new standard |---- Ship out to "ebuild_tested" rsync/git tree | |---- *Quality win* | -------------------------------------------------------------------------------- Step 3: Enterprise-level quality -------------------------------------------------------------------------------- | |---- Did GUI tests (using LDTP) or other integration tests pass? | Prereq: People need to write them. | QA: excellent |---- Yes: Merge to "integration_tested" git branch Use case: | new |---- Ship out to "integration_tested" rsync/git enterprise | tree |---- *Enterprise win* | -------------------------------------------------------------------------------- Step X: Binary packages (optional) -------------------------------------------------------------------------------- | |---- Provide binary packages built with server & desktop profiles Use case: | Prereq: Solve library SOVER issues. binary distro | Portage: stricter deps built into ebuild? | |---- *Win*