@@ -4,6 +4,8 @@ pipeline {
44 parameters {
55 string(name : ' CBM_RELEASE_VERSION' , defaultValue : ' ' ,
66 description : ' Optional version passed to the release build, for example v0.11.0-rc.2' )
7+ string(name : ' CBM_TEST_SUITES' , defaultValue : ' cli daemon daemon_ipc pipeline' ,
8+ description : ' Focused incremental test suites; leave empty for the full gate' )
79 }
810
911 options {
@@ -71,6 +73,9 @@ pipeline {
7173 }
7274 }
7375 stage(' Prepare test runner' ) {
76+ when {
77+ expression { ! params. CBM_TEST_SUITES ?. trim() }
78+ }
7479 steps {
7580 sh '''
7681 set -eu
@@ -80,6 +85,9 @@ pipeline {
8085 }
8186 }
8287 stage(' Test shards' ) {
88+ when {
89+ expression { ! params. CBM_TEST_SUITES ?. trim() }
90+ }
8391 // Three shards share this 56-core host; nine workers each keeps
8492 // the aggregate test fan-out at 27, below the requested 28-core cap.
8593 parallel {
@@ -112,16 +120,33 @@ pipeline {
112120 }
113121 }
114122 stage(' Verify test shards' ) {
123+ when {
124+ expression { ! params. CBM_TEST_SUITES ?. trim() }
125+ }
115126 steps {
116127 sh ' scripts/ci/verify-shard-union.sh build/c/test-logs'
117128 }
118129 }
119130 stage(' Post-test gates' ) {
131+ when {
132+ expression { ! params. CBM_TEST_SUITES ?. trim() }
133+ }
120134 steps {
121135 sh ' CBM_TEST_PHASE=post CBM_TEST_SEAM_BINARY="$WORKSPACE/build/c-seams/codebase-memory-cli" scripts/test.sh'
122136 }
123137 }
138+ stage(' Focused tests' ) {
139+ when {
140+ expression { params. CBM_TEST_SUITES ?. trim() }
141+ }
142+ steps {
143+ sh ' scripts/test.sh --suites "$CBM_TEST_SUITES"'
144+ }
145+ }
124146 stage(' Package wrappers' ) {
147+ when {
148+ expression { ! params. CBM_TEST_SUITES ?. trim() }
149+ }
125150 steps {
126151 sh '''
127152 set -eu
@@ -134,11 +159,17 @@ pipeline {
134159 }
135160 }
136161 stage(' Thread sanitizer' ) {
162+ when {
163+ expression { ! params. CBM_TEST_SUITES ?. trim() }
164+ }
137165 steps {
138166 sh ' scripts/test.sh --tsan'
139167 }
140168 }
141169 stage(' Publish Jenkins qualification evidence' ) {
170+ when {
171+ expression { ! params. CBM_TEST_SUITES ?. trim() }
172+ }
142173 steps {
143174 withCredentials([usernamePassword(credentialsId : ' github-https-token' ,
144175 usernameVariable : ' GITHUB_USER' ,
@@ -149,6 +180,9 @@ pipeline {
149180 }
150181 }
151182 stage(' Archive Linux CLI artifact' ) {
183+ when {
184+ expression { ! params. CBM_TEST_SUITES ?. trim() }
185+ }
152186 steps {
153187 sh '''
154188 set -eu
0 commit comments