LogoLogo
Contact SupportProduct
  • Knowledge Base
  • What's New
  • Guides
  • Agent Release Notes
  • Setup & Configuration
  • August 2025
    • Savings Breakdown: Tests Tab Enhancements
  • June 2025
  • May 2025
    • Beta Support for C/C++ on SeaLights!
  • April 2025
    • New Build Tagging Capabilities
  • March 2025
    • Test Gaps: Coverage Focus
    • Quality Gates - Flexible Failure Criteria
    • Component Level Coverage For All Test Stages
    • Enhanced Security & Control with SeaLights Tokens
  • Introducing Our New Tricentis-SeaLights Logo!
  • February 2025
    • Introducing Test Stage Cycles
  • January 2025
  • December 2024
    • Simplified TGA Report Creation
    • Test Gaps: Modified Methods Focus
  • November 2024
  • October 2024
    • Group Coverage Trend Report for All Branches
    • Saved Views on Dashboard
    • Test Optimization - Application Under Test
    • Test Optimization Timeline
    • Enhanced TIA Settings
  • September 2024
    • Executive Summary Report for Multi-Branch Environments
  • August 2024
    • Enhanced Code Changes Calculation in TGA Report
    • New Navigation Bar
  • July 2024
    • Test Optimization - Build Breakdown Improvements
    • New Coverage Report
    • New Dashboard Design
Powered by GitBook
On this page
  1. January 2025

Automatic Build Tagging & Branching Out

Last updated 1 month ago

Was this helpful?

CtrlK
  • Why This Matters
  • How It Works: A Seamless Automated Flow
  • Important Use Case: Release Branches
  • Examples of Inheritable Configurations

Was this helpful?

We're excited to introduce a powerful new set of capabilities designed to significantly automate your SeaLights configuration management: Auto Build Tagging and Auto Branching Out of Configurations.

Why This Matters

Many organizations face the challenge of consistently applying various configurations across different development streams, including main branches, feature branches, release branches, and hotfix branches. Manually configuring these for each build or new branch can be time-consuming and prone to inconsistencies.

These new features address this by:

  • Automating Configuration Inheritance: Ensuring that necessary configurations are automatically inherited from a designated baseline (e.g., your main branch, or a specific release build) to other builds.

  • Streamlining Build Management: Automatically tagging your builds based on predefined rules, which then triggers the automated configuration inheritance.

  • Ensuring Consistency: Reducing manual effort and human error in setting up configurations for various development and release streams.

How It Works: A Seamless Automated Flow

Our approach automates this process by defining configurations between build tags. When a new build is created, it follows a two-step automated process:

  1. Auto Build Tagging:

    • This capability allows new builds to be automatically tagged based on their branch naming pattern. This is useful for various scenarios, such as tagging builds on a new feature branch, a release candidate branch, or a hotfix branch.

    • You define Build Tagging Rules that link branch patterns (using regular expressions) to specific tags. For example, any branch starting with feature/ could automatically get a Feature tag, or release_* branches could be tagged RC.

    • When a new build's branch name matches a configured pattern, the build is automatically assigned the corresponding tag.

    Example Rule:

    {
      "branchPattern": "release_*",
      "tag": "RC"
    }
  2. Auto Branching Out Configurations:

    • Once a build is automatically tagged (or manually tagged via API), this capability enables the automatic inheritance or merging of configurations between a baseline tagged build and the newly tagged build. This is not limited to new branches; it can apply to any build that needs to inherit settings from a specific baseline.

    • You'll define Branching Out Configurations that specify which baseline tag to inherit from (e.g., main, release-v1.0), which configurations to apply, and whether this should apply only to the first build of a new branch or all builds with that tag.

    • When a tagged build meets the defined conditions (e.g., it's the first build of a new branch with a specific tag, or a new build on a release branch), the system automatically identifies the latest build with the corresponding baseline tag and triggers the branching process. This ensures the correct configuration inheritance is applied.

    Example Configuration:

    {
      "baselineTag": "main",
      "tag": "RC",
      "onlyFirstBuild": true,
      "configsToInherit": {
        "statisticalModel": true,
        "pinnedTests": true,
        "testDependencies": true,
        "commonCode": false
      }
    }

The Automated Flow: The Auto Build Tagging process (often the first step) automatically applies a tag to your new build. This applied tag then triggers the Auto Branching Out process, ensuring seamless inheritance of your configurations from the main branch or another designated baseline.

Important Use Case: Release Branches

For clients managing release branches where each branch is created from the previous release, the process can also be automated. Instead of relying solely on auto-tagging, you can use our Public API to tag the released build for each branch. With the correct auto-branching-out configuration settings, each new build for the next release will then automatically branch out from the latest release, ensuring continuous configuration inheritance.

Examples of Inheritable Configurations

This new capability can be used for managing various types of configurations. Common applications include:

  • Test Impact Analysis (TIA) Configurations:

    • Statistical Model (SM)

    • Test Dependencies

    • Pinned Tests

    • Common Code

  • Code Changes Comparison Baselines: Automatically setting the baseline for code changes comparison to a build from a different branch (e.g., comparing a feature branch to the latest main build).

By using Auto Build Tagging and Auto Branching Out, you can ensure these critical settings are consistently applied across your development branches and release cycles without manual intervention.

Learn more about Auto Branching Out