mirror of
https://gitea.com/actions/setup-deno.git
synced 2025-12-13 11:56:58 +00:00
Initial pass
This commit is contained in:
46
main.js
Normal file
46
main.js
Normal file
@@ -0,0 +1,46 @@
|
||||
const process = require("process");
|
||||
const core = require("@actions/core");
|
||||
|
||||
const { parseVersionRange, resolveVersion } = require("./src/version.js");
|
||||
const { install } = require("./src/install.js");
|
||||
|
||||
/**
|
||||
* @param {string} message
|
||||
* @returns {never}
|
||||
*/
|
||||
function exit(message) {
|
||||
core.setFailed(message);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
const range = parseVersionRange(core.getInput("version"));
|
||||
if (range === null) {
|
||||
exit("The passed version range is not valid.");
|
||||
}
|
||||
|
||||
const version = await resolveVersion(range);
|
||||
if (version === null) {
|
||||
exit("Could not resolve a version for the given range.");
|
||||
}
|
||||
|
||||
core.info(
|
||||
`Going to install ${
|
||||
version.isCanary ? "canary" : "stable"
|
||||
} version ${version.version}.`,
|
||||
);
|
||||
|
||||
await install(version);
|
||||
|
||||
core.setOutput("version", version.version);
|
||||
core.setOutput("is-canary", version.isCanary);
|
||||
|
||||
core.info("Installation complete.");
|
||||
} catch (err) {
|
||||
core.setFailed(err);
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user