This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
octopus:flows [2015/04/29 11:16] Fatih Degirmenci removed |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== OPNFV CI Flows ====== | ||
- | //** | ||
- | The information presented here is yet to be discussed within Octopus Team and should be seen as input to discussion unless noted otherwise. | ||
- | **// | ||
- | |||
- | Flows listed here will evolve over time and new ones will be added depending on the scope of the forthcoming releases. | ||
- | |||
- | ===== Candidates for Release 1 ===== | ||
- | |||
- | The information documented in this section aims to give an overview regarding what CI flows can potentially be developed and deployed in scope of OPNFV Release 1. | ||
- | |||
- | The details might have been omitted in order not to go into specifics at this phase. | ||
- | |||
- | The main inputs to Octopus in Release 1 are contributions to OPNFV Gerrit(read: deliveries from BGS). OPNFV patches/contributions to upstream projects are not in scope and only vanilla version of upstream projects are taken into account. | ||
- | |||
- | The main deliverable of Octopus in Release 1 is aimed to be Basic Gerrit Verification/Developer and Basic Master Branch CI flows. (//**Please read this sentence as an input to discussion rather than a commitment as of yet.**//) | ||
- | |||
- | Please check [[octopus:use_cases|this page]] to see use cases. | ||
- | |||
- | ==== Gerrit Verification/Developer Flow ==== | ||
- | |||
- | This flow aims to automate basic Gerrit Verification when an OPNFV developer/committer/contributor commits/pushes contribution(s) to OPNFV repos. (//triggered automatically by Gerrit patchset-created event.//) | ||
- | |||
- | This flow helps developers to get quick feedback regarding their commit, naturally trying to keep the quality of codebase on certain level. It also provides feedback to reviewers regarding the quality of the commit so they can either skip the review totally if commit fails passing verification or notifiers other committers/contributors to do the review. | ||
- | |||
- | The scope of verification can be small in the beginning, such as commit message checks, basic build, static code analysis, smoke test and so on. More things can be added or existing checks can be removed (if they don't add value) later on. | ||
- | |||
- | The result of this flow will be verified/failed vote in Gerrit. Depending on reviews, the commit can later be submitted to master. | ||
- | |||
- | Please check the diagram below to see how the flow would look. The jobs that are listed on the diagram are just examples and open to discussion. | ||
- | |||
- | {{ :octopus:opnfv_developer_ci_flow.png?nolink&600 |}} | ||
- | |||
- | ==== Master Branch Flow ==== | ||
- | |||
- | This flow aims to automate build, deployment and test for master branch in order to ensure the quality of the master and provide feedback to community. | ||
- | |||
- | The flow can either be triggered change-merged Gerrit event, based on timer, and/or manually. But we should strive running things automatically and continuously. This obviously depends on the hardware resource situation. | ||
- | |||
- | The scope of master branch flow for Release 1 is open to discussion but it would be good if build, deployment, and test (tempest, robot) can be automated using mechanisms/cookbooks/scripts provided by BGS. | ||
- | |||
- | Please check the diagram below to see how the flow would look. | ||
- | |||
- | {{ :octopus:opnfv_master_branch_flow.png?nolink&720 |}} | ||
- | |||
- | ===== Candidates for Release 2 ===== | ||
- | TBD |