diff --git a/01_lifecycle.md b/01_lifecycle.md new file mode 100644 index 0000000000000000000000000000000000000000..bf7f1fe73faa7a0517584a7c9b4bc48b024c6722 --- /dev/null +++ b/01_lifecycle.md @@ -0,0 +1,86 @@ +## Life cycle of the ETSI delivery repository + +### Overview of ETSI delivery repository + +ETSI delivery repository is the git repository containing some software or source code considering as a part of the ETSI publishing document. +The published ETSI delivery can contain a part of the repository content or a reference to the tagged or released version within the repository. + +- The ETSI delivery repository is publicly available. It shall not contain any private, sensitive or confidential information. +- The ETSI delivery repository can contain multiple release branches. New release branch can be created when the new version of the publishing document shall be associated with the new release or pack of standards. +- The ETSI delivery repository shall not contain any development branches excepting the one or more WI rapporteur's branches ( WI branches) been used to collect merge requests from individual developers. +- The ETSI delivery repository is associated with the Technical Body responsible for the delivery. +- The ETSI delivery repository can be maintained by + - ETSI technical officers + - Working group officials + - WI rapporteurs + +### Repository creation + +The ETSI delivery repository can be created when new WI of the new ETSI delivery is approved and the software code is intended to be the part of this delivery. + +The ETSI delivery repository shall be named as \_\ where: +- tag is the short acronym to identify the module. (optional) +- document number is the ETSI delivery number. + +> Examples: sec_ts103097, cdd_102984_2, etc. + +According to the contribution strategy, the development branch or development repository can be created for the WI. +Contributors shall follow the contribution procedure described below. + +### Update WI behavior + +Whenever the new WI is created for update the existing ETSI published document, the content of the associated software repository can also be updated. +According to the contribution strategy, the development branch or development repository can be created for the new WI. +Contributors shall follow the contribution procedure described below. + +### Contribution strategies + +Two contribution strategies can be supported by ETSI forge: +- WI branch approach. +- WI repository approach. + +It is up to Technical Body to select the strategy to be applied for ETSI delivery repositories associated with the Technical Body. + +#### WI branch approach + +- The new development branch (WI branch) can be created in the ETSI delivery repository when new work item is approved. +- The name of the WI repository contains the the WI reference number (for example `WI_0000035`). +- The WI branch is publicly visible. +- Individual developers branches are not allowed in the delivery repository and so, developers shall use their private repositories to prepare merge requests. +- WI rapporteur collects merge requests from individual developers and merge it into the WI branch. + +#### WI repository approach + +- The new development repository (WI repository) can be forked from the ETSI delivery repository when new work item is approved. +- The name of the WI repository contains the name of the ETSI delivery repository and the WI reference number (for example `sec_ts103097_0000035`). +- The WI repository is visible for EOL accounts only. +- The WI repository is managed by the WI rapporteur. +- The WI repository can contain development branches created by the rapporteur or by other members of the project. Everybody can request for the project membership. +- Private repositories can also be used to prepare merge requests. +- The WI rapporteur collects merge requests from individual developers and merge it into the master of WI repository. + +### Contribution procedure +- According to the contribution strategy, contributors can create a new branch in the WI repository or fork the ETSI delivery repository in their private namespace. + See [Gitlab's branching documentation](https://docs.gitlab.com/ee/user/project/repository/branches/) for more details. +- Contributors make a set of changes (either modifications or additions) to the Forge platform using the newly-created branch. +- Contributors submit a Merge Request from the branch containing their changes to the WI branch or WI repository. + +If some contrubution needs to be approved on the TB meeting, the contributor performs the following stages: +- The contributor reserves a contribution number on the ETSI Portal and includes this number in the Merge Request description. +- The contributor prepares and makes available a contribution on the Portal. The contribution contains a link to the Merge Request and a description of proposed changes. +- The contribution can also contain 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. +- Once approved, the Merge Request can be applied into the WI branch. + +### Publishing + +- The rapporteur prepares the delivery document and the WI branch or the master branch of WI repository for publication. +- The rapporteur creates the tag with the new expected version of the delivery (`v1.2.1` for example) + in the WI branch or repository and provides the link to the tag to the editHELP team. +- Some changes can be made in the development branch during the editHelp processing. +- The WI rapporteur shall merge the approved version of the software from the WI branch or repository into the correspondent branch of the ETSI delivery repository. +- The WI rapporteur shall create the tag with the new version of the delivery (`v1.2.1` for example). +- The delivery document can include one of the following: + - The copy of the repository content; + - The reference to the tag in the ETSI delivery repository; + - The reference to the release archive in the ETSI delivery repository; +- The WI rapporteur shall inform the editHelp team about the reference URL to bi included in the delivery document. diff --git a/main.md b/main.md index bea0e0db8f1c28dc8fe46024f31a94d3daf07ce2..4cf9b9c1eeeb85e30a147617e8cf0f2287447fbe 100644 --- a/main.md +++ b/main.md @@ -31,13 +31,17 @@ Annex 6, definition number 14. See [Introduction](01_intro.md). +## ETSI delivery repository + +ETSI delivery repository is the software repository holding the part of the ETSI delivery publication. +See [ETSI delivery repository life cycle](01_lifecycle.md) + ## Contributions process to deliverables when the software is hosted in ETSI Forge See [Process](02_process.md). ## Templates of a contribution for software - See [Templates](03_templates.md). ## Details of the activities