@@ -94,6 +94,18 @@ test('release-sdk auto workflow resumes releases from sdk-v tags at HEAD', async
9494 ) ;
9595} ) ;
9696
97+ test ( 'release-sdk auto workflow runs on stable and main' , async ( ) => {
98+ const content = await readRepoFile ( '.github/workflows/release-sdk.yml' ) ;
99+ assert . ok (
100+ content . includes ( ' - main' ) ,
101+ '.github/workflows/release-sdk.yml: auto-release must continue to run on main' ,
102+ ) ;
103+ assert . ok (
104+ content . includes ( ' - stable' ) ,
105+ '.github/workflows/release-sdk.yml: auto-release must run on stable' ,
106+ ) ;
107+ } ) ;
108+
97109test ( 'sdk semantic-release prepareCmd builds Node SDK before validate' , async ( ) => {
98110 const content = await readRepoFile ( 'packages/sdk/.releaserc.cjs' ) ;
99111 assertOrder (
@@ -120,6 +132,14 @@ test('sdk semantic-release matches CLI channel model (next/next on main, latest
120132 content . includes ( "{ name: 'main', prerelease: 'next', channel: 'next' }" ) ,
121133 "packages/sdk/.releaserc.cjs: main branch must release next versions on next channel" ,
122134 ) ;
135+ assert . ok (
136+ content . includes ( 'const isCiRelease = Boolean(process.env.CI);' ) ,
137+ 'packages/sdk/.releaserc.cjs: CI releases must be detected explicitly' ,
138+ ) ;
139+ assert . ok (
140+ content . includes ( 'if (isCiRelease || isPrerelease) {' ) ,
141+ 'packages/sdk/.releaserc.cjs: CI releases must keep Python publishing in the workflow' ,
142+ ) ;
123143} ) ;
124144
125145test ( 'sdk-release-publish validates local PyPI prerequisites before Node publish' , async ( ) => {
0 commit comments