diff --git a/02_process.md b/02_process.md index af22dff0eaa27e4ac4f8ff1e48fbbb6a060e7c80..60ce43c96dff2e530a0054593a8248fa027bd237 100644 --- a/02_process.md +++ b/02_process.md @@ -1,65 +1,73 @@ -## Contributions process to deliverables when the software is hosted in ETSI Forge - -### Overview of the process - -The steps below describe the process for contribution and integration of software hosted on ETSI Forge repository. - -#### 1. Reserve contribution - -This activity is optional. - -The contributor reserves a contribution number on the ETSI Portal, so that it can be included in the preparation of the Merge Request. - -#### 2. Submit changes - -Contributor uploads a set of changes (either modifications or additions) to the Forge platform. - -This activity can be executed in several ways: - -* Via the web interface of Gitlab (either the "Edit" button or the "Web IDE") -* Via Git (by using a Git client locally) - -#### 3. Contributor creates and submits a merge request in the appropriate project on ETSI Forge - - - The submitted Merge Request shall include: - - The changes uploaded to a branch in the repository with a given temporary name (the branch will be deleted after the merge), - - Motivation, rationale or purpose of the changes, and the description of changes; - - It may also include: - - a contribution number (if any), - - a link to a Bugzilla issue or Gitlab issue. - -#### 4. Contributor prepares and makes available a contribution on the Portal. - - - The submitted contribution shall include: - - Link to the Merge Request - - Reference in the text to the location of the changed software, i.e. the changes in the target deliverable which include the links to the new version of the software in the named branch linked to the MR - EXAMPLE: Merge request XYZ proposes to merge branch FEAT1 into branch v1.1.x and is to be approved in contribution (19)00000ABC. The contribution will contain the changes in the base deliverable with the URLs updated to point to forge.etsi.org/rep/TB/DOCNUM/tree/FEAT1 - b. It may include - i. The tag to be applied after the MR is merged - ii. Changes to other elements of the deliverable (e.g. textual descriptions, tables, figures, etc.) required to maintain consistency with the changes proposed in the Merge Request. - -#### 5. Contribution approval process is held leading to the approval of the contribution on the Portal; - -a. If the proposed changes need revisions – either due to email discussion , or discussion during a meeting – the software on the Forge will be changed first (generating a new version) and the related contribution needs to be revised to include the pointer to the latest changes. - -#### 6. The rapporteur merges the Merge request(s?) related to the approved contributions. - -a. NOTE: this activity may be automatized in the future but needs to take into the account the possibility of conflicts thus requiring manual intervention. - -#### 7. Rapporteur applies the appropriate tag to the repository - -a. With the version number of the Draft deliverable that will reference the tag -b. Note: This may be automatized - -#### 8. Rapporteur updates the draft of the deliverable - -a. All temporary links replaced with the link to the tagged version; -b. The other elements in the approved contributions are incorporated as well, as usual. - -#### 9. ETSI Secretariat receives the final draft ready for publication; - -#### 10. ETSI Secretariat finalizes the repository, applies the publication tag and finalizes the document. - -### Picture - +## Contributions process to deliverables when the software is hosted in ETSI Forge + +### Overview of the process + +The steps below describe the process for contribution and integration of software hosted on ETSI Forge repository. + +#### 1. Contributor reserves a contribution number (optional) + +The contributor reserves a contribution number on the ETSI Portal, so that it can be included in the preparation of the Merge Request. + +#### 2. Contributor creates a new branch for changes + +The contributor creates a new branch for the contribution. See [Gitlab's branching documentation for more details](https://docs.gitlab.com/ee/user/project/repository/branches/). + +#### 3. Contributor commits changes to the branch + +The contributor makes a set of changes (either modifications or additions) to the Forge platform using the newly-created branch. + +This activity can be executed in several ways: + +* Via the web interface of Gitlab (either the "Edit" button or the "Web IDE") +* Via Git (by using a Git client locally) + +#### 4. Contributor creates and submits a merge request + +The contributor raises a Merge Request from the branch containing their changes. + +The submitted Merge Request shall include: + +* Motivation, rationale or purpose of the changes, and the description of changes + +It may also include: +* The contribution number reserved at step 1 (if any) +* A link to a Bugzilla issue or Gitlab issue (if any) + +#### 5. Contributor prepares and makes available a contribution on the Portal. + +The submitted contribution shall include: + +* A link to the Merge Request +* Reference in the text to the location of the changed software i.e. the changes in the target deliverable which include the links to the new version of the software in the named branch linked to the MR. For example; + +> Merge request XYZ proposes to merge branch FEAT1 into branch v1.1.x and is to be approved in contribution (19)00000ABC. The contribution will contain the changes in the base deliverable with the URLs updated to point to forge.etsi.org/rep/TB/DOCNUM/tree/FEAT1 + +The submitted contribution may include +* The tag to be applied after the MR is merged +* Changes to other elements of the deliverable (e.g. textual descriptions, tables, figures, etc.) required to maintain consistency with the changes proposed in the Merge Request. + +#### 5. Contribution approval process is held leading to the approval of the contribution on the Portal; + +If the proposed changes need revisions – either due to email discussion , or discussion during a meeting – the software on the Forge will be changed first (generating a new version) and the related contribution needs to be revised to include the pointer to the latest changes. + +#### 6. The rapporteur merges the Merge request(s?) related to the approved contributions. + +NOTE: This activity may be automated in the future but needs to take into the account the possibility of conflicts thus requiring manual intervention. + +#### 7. Rapporteur applies the appropriate tag to the repository + +This is done with the version number of the Draft deliverable that will reference the tag +Note: This may be automated + +#### 8. Rapporteur updates the draft of the deliverable + +All temporary links are replaced with the link to the tagged version. +Other elements in the approved contributions are incorporated following the usual process for updating documents. + +#### 9. ETSI Secretariat receives the final draft ready for publication + +#### 10. ETSI Secretariat finalizes the repository, applies the publication tag and finalizes the document + +### Picture + ![Proposed process](C:/Users/carignani/Documents/forge_gitlab/cti/forge-contributions-documentation/imgs/process1.png "Proposed process") \ No newline at end of file