Skip to content

Commit dccdc41

Browse files
author
Automated Publisher
committed
Automated publish: Sat Jan 2 18:02:00 UTC 2021 ced6293
1 parent ced6293 commit dccdc41

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

dist/index.js

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5851,21 +5851,33 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
58515851
const core = __importStar(__webpack_require__(186));
58525852
const utils_1 = __webpack_require__(314);
58535853
const 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+
}
58545871
function 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

Comments
 (0)