Skip to content

Commit c76243b

Browse files
feat: add domain and release-candidate outputs to build-domain
1 parent 4781b84 commit c76243b

File tree

4 files changed

+22
-7
lines changed

4 files changed

+22
-7
lines changed

action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ outputs:
7272
description: "Number of artifacts produced"
7373
artifacts-dir:
7474
description: "Path to artifacts directory"
75+
domain:
76+
description: "The domain name (releaseName from release config)"
77+
release-candidate:
78+
description: "The generated release candidate name"
7579

7680
runs:
7781
using: "node20"

dist/index.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25976,16 +25976,17 @@ async function generateReleaseCandidate(releaseName, branch, buildNumber, releas
2597625976
}
2597725977
core.info(`Release candidate '${rcName}' generated successfully`);
2597825978
}
25979-
function printSummary(hasArtifacts, artifactCount) {
25979+
function printSummary(hasArtifacts, artifactCount, domain, rcName) {
2598025980
const line = '-'.repeat(90);
2598125981
console.log();
2598225982
console.log(line);
2598325983
console.log('Build Summary');
2598425984
console.log(line);
25985+
console.log(`Domain : ${domain}`);
2598525986
if (hasArtifacts) {
2598625987
console.log(`Artifacts : ${artifactCount} package(s) built`);
2598725988
console.log('Published : Yes');
25988-
console.log('Release Candidate: Generated');
25989+
console.log(`Release Candidate: ${rcName}`);
2598925990
}
2599025991
else {
2599125992
console.log('Artifacts : None (no changes detected)');
@@ -26050,18 +26051,22 @@ async function run() {
2605026051
await buildPackages(branch, buildNumber, releaseConfigPath, diffCheck, serverUrl, serverToken, repository);
2605126052
// Step 5: Check for artifacts
2605226053
const { hasArtifacts, artifactCount } = await checkArtifacts();
26054+
// Calculate release candidate name (same logic as generateReleaseCandidate)
26055+
const rcName = inputReleaseName || `${branch}-${buildNumber}`;
2605326056
// Set outputs
2605426057
core.setOutput('has-artifacts', hasArtifacts.toString());
2605526058
core.setOutput('artifact-count', artifactCount.toString());
2605626059
core.setOutput('artifacts-dir', 'artifacts');
26060+
core.setOutput('domain', releaseName);
26061+
core.setOutput('release-candidate', rcName);
2605726062
if (hasArtifacts) {
2605826063
// Step 6: Publish with global lock (serializes git tag operations across all domains)
2605926064
await publishWithGlobalLock(repository, serverUrl, serverToken, npmScope, npm, gitTag, pushGitTag);
2606026065
// Step 7: Generate release candidate (outside publish lock)
2606126066
await generateReleaseCandidate(inputReleaseName, branch, buildNumber, releaseConfigPath, npmScope, repository, serverUrl, serverToken);
2606226067
}
2606326068
// Print summary
26064-
printSummary(hasArtifacts, artifactCount);
26069+
printSummary(hasArtifacts, artifactCount, releaseName, rcName);
2606526070
}
2606626071
catch (error) {
2606726072
if (error instanceof Error) {

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -439,17 +439,18 @@ async function generateReleaseCandidate(
439439
core.info(`Release candidate '${rcName}' generated successfully`);
440440
}
441441

442-
function printSummary(hasArtifacts: boolean, artifactCount: number): void {
442+
function printSummary(hasArtifacts: boolean, artifactCount: number, domain: string, rcName: string): void {
443443
const line = '-'.repeat(90);
444444
console.log();
445445
console.log(line);
446446
console.log('Build Summary');
447447
console.log(line);
448+
console.log(`Domain : ${domain}`);
448449

449450
if (hasArtifacts) {
450451
console.log(`Artifacts : ${artifactCount} package(s) built`);
451452
console.log('Published : Yes');
452-
console.log('Release Candidate: Generated');
453+
console.log(`Release Candidate: ${rcName}`);
453454
} else {
454455
console.log('Artifacts : None (no changes detected)');
455456
console.log('Published : Skipped');
@@ -529,10 +530,15 @@ export async function run(): Promise<void> {
529530
// Step 5: Check for artifacts
530531
const { hasArtifacts, artifactCount } = await checkArtifacts();
531532

533+
// Calculate release candidate name (same logic as generateReleaseCandidate)
534+
const rcName = inputReleaseName || `${branch}-${buildNumber}`;
535+
532536
// Set outputs
533537
core.setOutput('has-artifacts', hasArtifacts.toString());
534538
core.setOutput('artifact-count', artifactCount.toString());
535539
core.setOutput('artifacts-dir', 'artifacts');
540+
core.setOutput('domain', releaseName);
541+
core.setOutput('release-candidate', rcName);
536542

537543
if (hasArtifacts) {
538544
// Step 6: Publish with global lock (serializes git tag operations across all domains)
@@ -552,7 +558,7 @@ export async function run(): Promise<void> {
552558
}
553559

554560
// Print summary
555-
printSummary(hasArtifacts, artifactCount);
561+
printSummary(hasArtifacts, artifactCount, releaseName, rcName);
556562

557563
} catch (error) {
558564
if (error instanceof Error) {

0 commit comments

Comments
 (0)