No items found.
July 30, 2025

Raising the Bar for Developer Experience and Security in Harness Code & CI

Table of Contents

Harness CI and Code are now packed with features that reduce noise, tighten guardrails, and speed up delivery. From smarter builds and Kotlin test optimization to repo favorites and tag protection rules, these updates are designed to boost developer velocity without sacrificing control.

When you're managing dozens or hundreds of repositories, every click, config, and constraint matters. Especially when it's tied to production confidence or team velocity. That’s why the latest updates to Harness Code Repository and CI focus on giving developers more control, clearer guardrails, and less operational noise.

Version Control, with Real Control

Ever had a rogue tag break a pipeline or a branch accidentally deleted because protections were missing? Harness Code now supports Tag Rules, giving you the same fine-grained control as branch rules, but for Git tags.

You can:

  • Block tag creation, deletion, or updates based on patterns like v*, release/**, or specific tag names

  • Define who can bypass these restrictions, scoped to individuals or groups

Check out Tag Rules Documentation

Speaking of bypasses, you can now add user groups to the bypass list for both branch and tag rules. No need to micromanage individual user exceptions anymore — just assign groups and move on.

Check out Bypass List Enhancements Documentation

Prioritize What Matters

Not all repositories deserve your daily attention. With Favorites, you can now mark repositories you care about and surface them faster. Whether you are toggling across scopes or browsing dozens of repos, your important ones stay on top.

Check out Favorite Repositories Documentation

Make Security Auditable

A force push to your main branch should never go unnoticed. Harness now logs every force push to default branches so teams can easily audit or trace who did what and when. It’s one more way to bring transparency and confidence to your development process.

Check out Audit Logs for Repositories Documentation

Build Intelligence Now Supports Maven

You're using Maven to build your project. So why rebuild everything when nothing changed?

Harness CI now supports Build Intelligence for Maven (3.9+). It automatically detects unchanged inputs and skips redundant build steps to accelerate your pipelines. No changes needed to your build commands — Harness injects the right config for you.

Here's how you enable it with just a few lines in your pipeline YAML:

pipeline:
  projectIdentifier: YOUR_PROJECT_ID
  orgIdentifier: YOUR_ORG_ID
  name: maven-build-intel
  identifier: maven_build_intel
  tags: {}
  properties:
    ci:
      codebase:
        connectorRef: YOUR_CODEBASE_CONNECTOR
        build: <+input>
        sparseCheckout: []
  stages:
    - stage:
        name: maven
        identifier: maven
        type: CI
        spec:
          cloneCodebase: true
          caching:
            enabled: true
            override: true
            paths: []
          buildIntelligence:
            enabled: true
          execution:
            steps:
              - step:
                  type: Run
                  name: Build with Maven
                  identifier: build_with_maven
                  spec:
                    shell: Sh
                    command: |-
                      wget https://downloads.apache.org/maven/maven-3/3.9.10/binaries/apache-maven-3.9.10-bin.tar.gz
                      tar -xvzf apache-maven-3.9.10-bin.tar.gz
                      sudo mv apache-maven-3.9.10 /opt/maven
                      export PATH=/opt/maven/bin:$PATH

                      mvn clean install -DskipITs -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -Dmaven.profile
                    resources:
                      limits:
                        memory: 5Gi
                        cpu: "5"
          platform:
            os: Linux
            arch: Amd64
          runtime:
            type: Cloud
            spec: {}

Smarter Testing with Test Intelligence for Kotlin

Build time isn't the only thing eating into your CI minutes — running unnecessary tests is another major culprit. That’s where Test Intelligence (TI) comes in.

Test Intelligence is part of Harness CI Intelligence and helps you run only the tests impacted by recent code changes, rather than running the full test suite every time. This reduces execution time, saves compute, and keeps feedback loops tight.

And now, Test Intelligence supports Kotlin projects too.

Here’s a working example of how to enable it in a pipeline. Notice how the intelligenceMode: true flag is added to the Test step. This tells Harness to auto-detect test impacts and optimize execution:

pipeline:
  projectIdentifier: YOUR_PROJECT_ID
  orgIdentifier: YOUR_ORG_ID
  tags: {}
  stages:
    - parallel:
        - stage:
            name: kotlin-amd64-alpine
            identifier: kotlin_amd64_alpine
            type: CI
            spec:
              cloneCodebase: true
              platform:
                os: Linux
                arch: Amd64
              runtime:
                type: Cloud
                spec: {}
              execution:
                steps:
                  - step:
                      type: Test
                      name: Run Tests
                      identifier: run_tests
                      spec:
                        image: maven:3.9.9-eclipse-temurin-17-alpine
                        shell: Sh
                        command: |-
                          cd forks/kotlin
                          mvn test
                        intelligenceMode: true
        - stage:
            name: kotlin-arm64-ubuntu
            identifier: kotlin_arm64_ubuntu
            type: CI
            spec:
              cloneCodebase: true
              platform:
                os: Linux
                arch: Arm64
              runtime:
                type: Cloud
                spec: {}
              execution:
                steps:
                  - step:
                      type: Test
                      name: Run Tests
                      identifier: run_tests
                      spec:
                        shell: Sh
                        command: |-
                          cd forks/kotlin
                          mvn test
                        intelligenceMode: true
        - stage:
            name: kotlin-amd64-ubuntu
            identifier: kotlin_amd64_ubuntu
            type: CI
            spec:
              cloneCodebase: true
              platform:
                os: Linux
                arch: Amd64
              runtime:
                type: Cloud
                spec: {}
              execution:
                steps:
                  - step:
                      type: Test
                      name: Run Tests
                      identifier: run_tests
                      spec:
                        shell: Sh
                        command: |-
                          cd forks/kotlin
                          mvn test
                        intelligenceMode: true
  properties:
    ci:
      codebase:
        repoName: YOUR_REPO_NAME
        build: <+input>
        sparseCheckout: []
  identifier: kotlin_test_intelligence
  name: kotlin_test_intelligence

From tighter policy controls to faster builds and smarter tests, these updates help your developers stay focused and your pipelines stay efficient.

Want to share your thoughts? Join the discussion →

Next-generation CI/CD For Dummies

Stop struggling with tools—master modern CI/CD and turn deployment headaches into smooth, automated workflows.

You might also like
No items found.
Book a 30 minute product demo.
No items found.
Code Repository
Continuous Integration