Branch configuration

Description of the process for the configuration of branches in the Release Train Manager

Branch configuration file

The configuration of branches is defined in the branch-config.yml file.

Each stage defined in the schema is fully described in the Stages section.

Properties

Property type description default mandatory
name string Name of the branch. The format is: [main|hotfix|fasttrack|release]/description#jira-id
Example: name: main/doc-review#14820
none true
release_branch string Name of the base branch from which the specific branch is generated. master In hotfix and fasttrack branches
release_version string Version of the base branch from which the branch will be generated. none In release branches
environment string English letter name to indicate the environment number to be generated to deploy the components used in the special branch. none If an environment is needed: from one to ten
mode string It specifies whether the branch that has been generated is to make a “real” change to the repositories to perform a test. production Use developer for test purposes
version string Version of configuration file. 1.0.0 Not used yet
description string Brief description of the changes for which the branch has been generated. Fake text true
jira Jira Jira references and tags referring to the task that the branch solves. Fake data true
teams Map<string,Team> List of teams involved in the resolution of the task solved by this branch. none At least one
main_protection Object Protection that will be applied to main branch when created in the RTM repository. This configuration can be partial and will be merged with the default configuration.
All the documentation concerning the protection of a branch can be found at Github
Defined by Template true
protection Object Default configuration property, this configuration will be merged between custom protection configurations of teams or main branches.
All the documentation concerning the protection of a branch can be found at Github
Defined by Template true

Jira Property

Property type description default mandatory
tags string[] String words used in Jira to categorize the feature or bug. Fake data true
references string[] Jira URLs where the tasks that the branch solves once the life cycle is completed are Fake data true

Team Object

It contains a set of common properties and others customized by each team. In the following table, the properties that are shared by all teams are described.

Property type description default mandatory
repositories string[] List of repository names involved in the changes to be made to the branch. Defined by Template true
protection Object Security configuration of the branches to be generated in the repositories. This configuration can be partial and will be merged with the default configuration.
Example:
     protection:
restrictions:
users: []
teams:
- aura-ci
- aura-bot-global-dev
- aura-bot-ext-devs
apps: []

All the documentation concerning the protection of a branch can be found at Github
Defined by Template true
stages Map<string,string[]> Map of stages in which the team has a series of steps to perform. All steps that must be performed to complete the phase. Defined by Template true
tasks string[] List of custom tasks to be completed before closing the PR for the branch. These tasks will be converted into a checkbox component in the body of the Pull Request Fake data false

Team Bot Custom Properties

Description of the bot’s custom properties.

Property type description default mandatory
update_dependencies Object[] of {name: string, version: string} List of objects with name and version. This property is used to update dependencies on the modules in the repositories defined by aura-bot. All the modules that use one of the libraries in the list, will be updated to the version that has been specified. [] false
dependencies Object[] of {name: string, version: string} List of objects with name and version. This property contains those @telefonica libraries that are needed in the Github library repository to isolate dependencies. At the INIT stage, the system will pick up that library from NPM and publish it to Github. [] false
node_version number Version of node to use in the bot’s Workflows. 14 true
tools Object It currently contains only one property, POEditor, which specifies the creation of a separated project to manage the localization strings. Defined by Template false

Branch config File

name: master
environment: none
mode: production
version: 1.0.0
description: Text to describe the release changes
jira:
  tags:
    - MyTag
  references:
    - "https://jira.tid.es/browse/AURA-12941"
    - "https://jira.tid.es/browse/AURA-13210"
teams:
  bot:
    update_dependencies: []
    repositories:
      - aura-aog-bridge
      - aura-services-api
      - aura-bot-common
      - aura-clients
      - aura-bot-libraries
      - aura-bot-libraries-test
      - aura-bot-platform
      - aura-bridge
      - aura-code-generator
      - aura-locale-importer
      - aura-movistar-libraries-utilities
      - aura-terms-and-conditions-api
      - aura-utilities
      - aura-kpis-uploader
      - aura-docs
    node_version: 14
    dependencies:
      - name: baikal-sdk
        version: 0.10.1
      - name: baikal-sdk
    tools:
      po_editor:
        project_base: Aura-Bot
    protection:
      restrictions:
        users: []
        teams:
          - aura-ci
          - aura-bot-global-dev
          - aura-bot-ext-devs
        apps: []
    stages:
      init:
        - install-dependencies
        - create-branch
        - store-locales
        - prepare-repository
        - create-changelog
        - protect-branch
        - install-tools
      start:
        - unprotect-branch
        - trigger-deploy-components
        - protect-branch
        - validate-deploy-components
      prepare-to-merge:
        - update-locales
        - check-conflicts
        - merge-and-update-versions
        - publish-modules
        - trigger-deploy-components
        - validate-deploy-components
      close:
        - unprotect_branch
        - prepare-versions-to-master
        - merge-to-master
        - validate-deploy-components
      finalize:
        - remove-main-branches
        - uninstall-tools
        - remove-packages
    tasks:
      - Review documentation before closing
      - Review PoEditor content before closing
      - Review performance before closing
  devops:
    repositories:
      - aurak8s
    stages:
      init:
        - create-branch
        - initial-commit
        - check-environment
        - create-environment
        - deploy-environment
        - unprotect-tests-branch
        - upload-environment-files
        - protect-tests-branch
        - protect-branch
      prepare-to-merge:
        - check-conflicts
        - merge
      close:
        - check-environment
        - close-environment
        - delete-environment
        - merge-to-master
    protection:
      restrictions:
        users: []
        teams:
          - aura-ci
          - aura-devops-admin
          - aura-global-cto
        apps: []
  qa:
    repositories:
      - aura-tests
    protection:
      required_status_checks:
        strict: false
        contexts: ['continuous-integration/jenkins/pr-head']
      enforce_admins: true
    tests:
      smoke_tests_enabled: false
      wa_mobile_tests_enabled: false
    stages:
      init:
        - create-branch
        - prepare-repository
        - protect-branch
      start:
        - sanity-tests
      prepare-to-merge:
        - unprotect-branch
        - check-conflicts
        - merge
        - protect-branch
        - smoke-tests
      close:
        - unprotect-branch
        - restore-repository
        - unprotect-master
        - merge-to-master
        - protect-master
        - smoke-tests

  nlp:
    repositories:
      - aura-cognitive-container
    repository_components: complex_logic,context-4p-synchronizer,context_provisioning,context,nlp-provisioning,nlp
    stages:
      init:
        - create-branch
      prepare-to-merge:
        - check-status-container
      close:
        - merge-to-master
    tasks: []

  training_nlp:
    repositories:
      - aura-nlpdata-es
    release_branch: release/7.0
    stages:
      init:
        - create-branch
      prepare-to-merge:
        - create-all-main-prs
        - check-status-repositories
      close:
        - merge-to-master
    tasks: [ ]

  legacy:
    repositories:
      - aura-cognitive-containers
    protection:
      restrictions:
        users: []
        teams:
          - aura-ci
          - aura-platform-tech-leads
          - aura-global-cto
        apps: []
    stages:
      init:
        - create-branch
        - prepare-repository
        - protect-branch
      prepare-to-merge:
        - check-conflicts
        - unprotect-branch
        - merge
        - protect-branch
      close:
        - unprotect-branch
        - update-version
        - unprotect-master
        - merge-to-master
        - protect-master

main_protection:
  restrictions:
    users: []
    teams:
      - aura-ci
      - aura-global-cto
    apps: []

protection:
  required_status_checks:
    strict: false
    contexts: []
  enforce_admins: false
  required_pull_request_reviews:
    dismissal_restrictions:
      users: []
      teams:
        - aura-ci
    dismiss_stale_reviews: true
    require_code_owner_reviews: true
    required_approving_review_count: 2
    bypass_pull_request_allowances:
      users: []
      teams:
        - aura-ci
  restrictions:
    users: []
    teams: []
    apps: []
  required_linear_history: false
  allow_force_pushes: false
  allow_deletions: false
  block_creations: false
  required_conversation_resolution: false
Last modified May 18, 2026: Remove KGB (52b04d91)