ETSI delivery repository is the software repository containing some software or source code to be considered as a part of the standard published by ETSI.
The ETSI delivery can contain a part of repository content or a reference to the tagged version of the repository.
- The ETSI delivery repository can contain multiple release branches.
- The ETSI delivery repository contains only publicly available versions of the delivery content.
- The ETSI delivery repository shall not contain developers branches excepting of one or more WI rapporteur's development branch been used to collect merge requests from individual developers.
- 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 to the ETSI delivery is approved and this delivery shall contain the software code as a part of the delivery.
The ETSI delivery repository shall be named as \<tag\>_\<document number\> where:
- tag is the short acronym to identify the module (optional)
- document number is the ETSI delivery number in the form defined in ETSI directive.
> Examples: sec_ts103097, cdd_102984_2, etc.
According to the chosen contribution strategy, the development branch or development repository can be created for the WI.
### Contribution strategies (`to be moved to contribution document`)
Two contribution strategies can be supported by ETSI forge:
- WI development branch approach.
- WI development repository approach
It is up to Technical Body to select the strategy to be applied for ETSI delivery repositories.
#### WI development branch approach
- The new development branch (WI branch) can be created in the ETSI delivery repository when new work item is approved.
- The WI branch is publicly visible.
- WI rapporteur collects merge requests from individual developers and merge it into the WI branch.
#### WI development repository approach
- The new development repository (WI repository) can be forked from the ETSI delivery repository when new work item is approved.
- 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.
- The WI rapporteur collects merge requests from individual developers and merge into the master of WI repository.
ETSI delivery repository is the git repository containing some software or source code considering as a part of the ETSI publishing document.
The ETSI delivery can contain a part of the repository content or a reference to the tagged or released version of the repository.
- The ETSI delivery repository is publicly available. It shall not contain any private or sensitive information.
- The ETSI delivery repository can contain multiple release branches. New release branch can be created when the document of new release is publishing.
- 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 \<tag\>_\<document number\> 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.
### Update WI behavior
Whenever the new WI is created to update the existing ETSI delivery, the associated software repository can be updated as well.
According to the contribution strategy, the development branch or development repository can be created for the new WI.
### Contribution strategies
Two contribution strategies can be supported by ETSI forge:
- WI development branch approach.
- WI development 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 development 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 development 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, the contributor creates 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.
- The contributor makes a set of changes (either modifications or additions) to the Forge platform using the newly-created branch.
- The contributor submits a Merge Request from the branch containing their changes to the WI branch or WI repository.
If the 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.