@@ -5851,21 +5851,33 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
58515851const core = __importStar ( __webpack_require__ ( 186 ) ) ;
58525852const utils_1 = __webpack_require__ ( 314 ) ;
58535853const workflow_handler_1 = __webpack_require__ ( 971 ) ;
5854+ function getFollowUrl ( workflowHandler , interval , timeout ) {
5855+ return __awaiter ( this , void 0 , void 0 , function * ( ) {
5856+ const start = Date . now ( ) ;
5857+ let url ;
5858+ do {
5859+ yield utils_1 . sleep ( interval ) ;
5860+ try {
5861+ const result = yield workflowHandler . getWorkflowRunStatus ( ) ;
5862+ url = result . url ;
5863+ }
5864+ catch ( e ) {
5865+ core . debug ( `Failed to get workflow url: ${ e . message } ` ) ;
5866+ }
5867+ } while ( ! url && ! utils_1 . isTimedOut ( start , timeout ) ) ;
5868+ return url ;
5869+ } ) ;
5870+ }
58545871function waitForCompletionOrTimeout ( workflowHandler , checkStatusInterval , waitForCompletionTimeout ) {
58555872 return __awaiter ( this , void 0 , void 0 , function * ( ) {
58565873 const start = Date . now ( ) ;
5857- let first = true ;
58585874 let status ;
58595875 let result ;
58605876 do {
58615877 yield utils_1 . sleep ( checkStatusInterval ) ;
58625878 try {
58635879 result = yield workflowHandler . getWorkflowRunStatus ( ) ;
58645880 status = result . status ;
5865- if ( first ) {
5866- core . info ( `You can follow the running workflow here: ${ result . url } ` ) ;
5867- first = false ;
5868- }
58695881 core . debug ( `Worflow is running for ${ utils_1 . formatDuration ( Date . now ( ) - start ) } . Current status=${ status } ` ) ;
58705882 }
58715883 catch ( e ) {
@@ -5902,11 +5914,17 @@ function run() {
59025914 // Trigger workflow run
59035915 workflowHandler . triggerWorkflow ( args . inputs ) ;
59045916 core . info ( `Workflow triggered 🚀` ) ;
5917+ if ( args . displayWorkflowUrl ) {
5918+ const url = yield getFollowUrl ( workflowHandler , args . displayWorkflowUrlInterval , args . displayWorkflowUrlTimeout ) ;
5919+ core . info ( `You can follow the running workflow here: ${ url } ` ) ;
5920+ core . setOutput ( 'workflow-url' , url ) ;
5921+ }
59055922 if ( ! args . waitForCompletion ) {
59065923 return ;
59075924 }
59085925 core . info ( `Waiting for workflow completion` ) ;
59095926 const { result, start } = yield waitForCompletionOrTimeout ( workflowHandler , args . checkStatusInterval , args . waitForCompletionTimeout ) ;
5927+ core . setOutput ( 'workflow-url' , result === null || result === void 0 ? void 0 : result . url ) ;
59105928 computeConclusion ( start , args . waitForCompletionTimeout , result ) ;
59115929 }
59125930 catch ( error ) {
@@ -5980,6 +5998,10 @@ function getArgs() {
59805998 if ( inputsJson ) {
59815999 inputs = JSON . parse ( inputsJson ) ;
59826000 }
6001+ const displayWorkflowUrlStr = core . getInput ( 'display-workflow-run-url' ) ;
6002+ const displayWorkflowUrl = displayWorkflowUrlStr && displayWorkflowUrlStr === 'true' ;
6003+ const displayWorkflowUrlTimeout = toMilliseconds ( core . getInput ( 'display-workflow-run-url-timeout' ) ) ;
6004+ const displayWorkflowUrlInterval = toMilliseconds ( core . getInput ( 'display-workflow-run-url-interval' ) ) ;
59836005 const waitForCompletionStr = core . getInput ( 'wait-for-completion' ) ;
59846006 const waitForCompletion = waitForCompletionStr && waitForCompletionStr === 'true' ;
59856007 const waitForCompletionTimeout = toMilliseconds ( core . getInput ( 'wait-for-completion-timeout' ) ) ;
@@ -5991,6 +6013,9 @@ function getArgs() {
59916013 owner,
59926014 repo,
59936015 inputs,
6016+ displayWorkflowUrl,
6017+ displayWorkflowUrlTimeout,
6018+ displayWorkflowUrlInterval,
59946019 checkStatusInterval,
59956020 waitForCompletion,
59966021 waitForCompletionTimeout
0 commit comments