... | ... | @@ -12,8 +12,34 @@ |
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
## Table of Contents ##
|
|
|
|
|
|
----
|
|
|
The OAI workflow is described in the following picture:
|
|
|
|
|
|
<img src="../images/workflow.png" alt="" border=3>
|
|
|
|
|
|
1. A ticket is created by a contributor following the [rules](policy/ticket-policy). The Technical Committee accepts it as a fixable issue.
|
|
|
- The Technical Committee assesses if a dedicated branch should be created.
|
|
|
2. A dedicated branch is created following the [rules](policy/branch-policy).
|
|
|
3. The developer/contributor works on implementing a solution to the ticket.
|
|
|
4. Once the developer is fine with the solution, he/she **SHALL** merge in his/her working branch the latest `develop` branch state.
|
|
|
- If the development is long (like for a feature branch), he/she should merge regularly from the `develop` branch to ease the pain.
|
|
|
- If there are merge conflicts, the developer/contributor can ask integrators/technical committee for help.
|
|
|
5. The developer proposes a merge-request/pull-request following the [rules](policy/merge-request-policy).
|
|
|
- By opening a MR/PR, the OAI Continuous Integration is triggered automatically.
|
|
|
- OAI CI job will run on the proposed merge commit onto `develop` branch.
|
|
|
- OAI CI job will notify in the MR/PR comments the job status.
|
|
|
* In case of `FAILURE`, the Technical Committee will ask the developer to fix the issue
|
|
|
* New commits will be added to the developer's branch
|
|
|
* MR/PR should be automatically updated and CI job retriggered.
|
|
|
6. Once the OAI CI job status is OK, the Technical Committee may perform manual inspections.
|
|
|
- For example, if the CI job does not check for Coding Guidelines, the TC may check and ask developer to obey them.
|
|
|
7. The Technical Committee approves the MR/PR.
|
|
|
- A merge commit is created onto the `develop` branch
|
|
|
- The OAI Continuous Integration is triggered automatically on this commit.
|
|
|
- We are doing this since we may have several pending MR/PR. CI Job runs on a real merged `develop` commit (no more a proposed one).
|
|
|
- OAI CI job will notify build status in the `develop` commit.
|
|
|
* `FAILURE` should not occur very often.
|
|
|
* In case of `FAILURE`, developer/integrator may go back onto working branch or directly in `develop` branch.
|
|
|
8. Since OAI CI job was OK on the real merged `develop` branch, the Technical Committee **SHALL**:
|
|
|
- Close the Ticket
|
|
|
- Close the MR/PR
|
|
|
9. The Technical Committee **SHALL** delete the branch |