@actions/core#warning TypeScript Examples
The following examples show how to use
@actions/core#warning.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: utils.ts From ms-teams-deploy-card with MIT License | 7 votes |
export function renderActions(statusUrl: string, diffUrl: string) {
const actions: PotentialAction[] = [];
if (getInput("enable-view-status-action").toLowerCase() === "true") {
actions.push(
new PotentialAction(getInput("view-status-action-text"), [statusUrl])
);
}
if (getInput("enable-review-diffs-action").toLowerCase() === "true") {
actions.push(
new PotentialAction(getInput("review-diffs-action-text"), [diffUrl])
);
}
// Set custom actions
const customActions = getInput("custom-actions");
if (customActions && customActions.toLowerCase() !== "null") {
try {
let customActionsCounter = 0;
const customActionsList = yaml.parse(customActions);
if (Array.isArray(customActionsList)) {
(customActionsList as any[]).forEach((action) => {
if (
action.text !== undefined &&
action.url !== undefined &&
(action.url as string).match(/https?:\/\/\S+/g)
) {
actions.push(new PotentialAction(action.text, [action.url]));
customActionsCounter++;
}
});
}
info(`Added ${customActionsCounter} custom facts.`);
} catch {
warning("Invalid custom-actions value.");
}
}
return actions;
}
Example #2
Source File: index.ts From retry with MIT License | 6 votes |
async function runAction() {
await validateInputs();
for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
try {
// just keep overwriting attempts output
setOutput(OUTPUT_TOTAL_ATTEMPTS_KEY, attempt);
await runCmd(attempt);
info(`Command completed after ${attempt} attempt(s).`);
break;
} catch (error) {
if (attempt === MAX_ATTEMPTS) {
throw new Error(`Final attempt failed. ${error.message}`);
} else if (!done && RETRY_ON === 'error') {
// error: timeout
throw error;
} else if (RETRY_ON_EXIT_CODE && RETRY_ON_EXIT_CODE !== exit){
throw error;
} else if (exit > 0 && RETRY_ON === 'timeout') {
// error: error
throw error;
} else {
await runRetryCmd();
if (WARNING_ON_RETRY) {
warning(`Attempt ${attempt} failed. Reason: ${error.message}`);
} else {
info(`Attempt ${attempt} failed. Reason: ${error.message}`);
}
}
}
}
}
Example #3
Source File: index.ts From retry with MIT License | 6 votes |
runAction()
.then(() => {
setOutput(OUTPUT_EXIT_CODE_KEY, 0);
process.exit(0); // success
})
.catch((err) => {
// exact error code if available, otherwise just 1
const exitCode = exit > 0 ? exit : 1;
if (CONTINUE_ON_ERROR) {
warning(err.message);
} else {
error(err.message);
}
// these can be helpful to know if continue-on-error is true
setOutput(OUTPUT_EXIT_ERROR_KEY, err.message);
setOutput(OUTPUT_EXIT_CODE_KEY, exitCode);
// if continue_on_error, exit with exact error code else exit gracefully
// mimics native continue-on-error that is not supported in composite actions
process.exit(CONTINUE_ON_ERROR ? 0 : exitCode);
});
Example #4
Source File: complete.ts From ms-teams-deploy-card with MIT License | 4 votes |
export function formatCompleteLayout(
commit: Octokit.Response<Octokit.ReposGetCommitResponse>,
conclusion: string,
elapsedSeconds?: number
) {
const repoUrl = `https://github.com/${process.env.GITHUB_REPOSITORY}`;
const branchUrl = `${repoUrl}/tree/${process.env.GITHUB_REF}`;
const webhookBody = formatCozyLayout(commit, conclusion, elapsedSeconds);
const section = webhookBody.sections[0];
// for complete layout, just replace activityText with potentialAction
section.activityText = undefined;
section.potentialAction = renderActions(
`${repoUrl}/actions/runs/${process.env.GITHUB_RUN_ID}`,
commit.data.html_url
);
// Set status and elapsedSeconds
let labels = `\`${conclusion.toUpperCase()}\``;
if (elapsedSeconds) {
labels = `\`${conclusion.toUpperCase()} [${elapsedSeconds}s]\``;
}
// Set section facts
section.facts = [
new Fact(
"Event type:",
"`" + process.env.GITHUB_EVENT_NAME?.toUpperCase() + "`"
),
new Fact("Status:", labels),
new Fact(
"Commit message:",
escapeMarkdownTokens(commit.data.commit.message)
),
new Fact("Repository & branch:", `[${branchUrl}](${branchUrl})`),
];
// Set custom facts
const customFacts = getInput("custom-facts");
if (customFacts && customFacts.toLowerCase() !== "null") {
try {
let customFactsCounter = 0;
const customFactsList = yaml.parse(customFacts);
if (Array.isArray(customFactsList)) {
(customFactsList as any[]).forEach((fact) => {
if (fact.name !== undefined && fact.value !== undefined) {
section.facts?.push(new Fact(fact.name + ":", fact.value));
customFactsCounter++;
}
});
}
info(`Added ${customFactsCounter} custom facts.`);
} catch {
warning("Invalid custom-facts value.");
}
}
// Set environment name
const environment = getInput("environment");
if (environment !== "") {
section.facts.splice(
1,
0,
new Fact("Environment:", `\`${environment.toUpperCase()}\``)
);
}
// Set list of files
if (getInput("include-files").toLowerCase() === "true") {
const allowedFileLen = getInput("allowed-file-len").toLowerCase();
const allowedFileLenParsed = parseInt(
allowedFileLen === "" ? "7" : allowedFileLen
);
const filesToDisplay = formatFilesToDisplay(
commit.data.files,
allowedFileLenParsed,
commit.data.html_url
);
section.facts?.push({
name: "Files changed:",
value: filesToDisplay,
});
}
return webhookBody;
}