Skip to content

Commit 9a6a63f

Browse files
committed
fix(repo): trigger recovery if either clerk-js or ui is published
1 parent 3ceed53 commit 9a6a63f

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

.github/workflows/release.yml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -140,26 +140,28 @@ jobs:
140140
return;
141141
}
142142
143-
// Check if these versions were actually published to npm
144-
const packagesToCheck = [
145-
{ name: '@clerk/clerk-js', version: clerkjsVersion },
146-
{ name: '@clerk/ui', version: clerkUiVersion },
147-
];
148-
149-
for (const { name, version } of packagesToCheck) {
143+
// Check if either version was actually published to npm
144+
function isPublished(name, version) {
150145
try {
151-
const npmVersion = execSync(`npm view ${name}@${version} version`, { encoding: 'utf8' }).trim();
152-
if (npmVersion !== version) {
153-
console.log(`${name}@${version} not published to npm, no recovery needed`);
154-
return;
155-
}
146+
return execSync(`npm view ${name}@${version} version`, { encoding: 'utf8' }).trim() === version;
156147
} catch {
157-
console.log(`${name}@${version} not found on npm, no recovery needed`);
158-
return;
148+
return false;
159149
}
160150
}
161151
162-
core.warning(`Recovery: @clerk/clerk-js@${clerkjsVersion} and @clerk/ui@${clerkUiVersion} were published to npm but downstream repos were not notified. Dispatching now.`);
152+
const clerkjsPublished = isPublished('@clerk/clerk-js', clerkjsVersion);
153+
const clerkUiPublished = isPublished('@clerk/ui', clerkUiVersion);
154+
155+
if (!clerkjsPublished && !clerkUiPublished) {
156+
console.log('Neither @clerk/clerk-js nor @clerk/ui were published to npm, no recovery needed');
157+
return;
158+
}
159+
160+
const published = [
161+
clerkjsPublished && `@clerk/clerk-js@${clerkjsVersion}`,
162+
clerkUiPublished && `@clerk/ui@${clerkUiVersion}`,
163+
].filter(Boolean).join(', ');
164+
core.warning(`Recovery: ${published} published to npm but downstream repos were not notified. Dispatching now.`);
163165
164166
const preMode = require("fs").existsSync("./.changeset/pre.json");
165167
if (preMode) {

0 commit comments

Comments
 (0)