UNPKG

ci-executer

Version:
45 lines (44 loc) 1.75 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const entry_1 = require("./lib/entry"); const logger_flx_1 = require("logger-flx"); const ci = require("ci-info"); const job_1 = require("./lib/job"); const chalk = require("chalk"); const os = require("os"); const logger = new logger_flx_1.Logger(entry_1.default.logger); const jobs = []; if (ci.isCI === true) { logger.log(`${chalk.cyan(" ℹ ")}> CI: ${ci.name}`); } logger.log(`${chalk.cyan(" ℹ ")}> OS: ${os.platform()} ${os.release()} (${os.type()})`); if (entry_1.default.scope !== "default") { logger.log(`${chalk.cyan(" ℹ ")}> ${chalk.yellow(`Accepted "${entry_1.default.scope}" environment`)}`); } for (const job_config of entry_1.default.jobs) { const job = new job_1.Job(entry_1.default.scope, job_config, logger); if (job.enable === true) { jobs.push(job); } } const startPipeline = async () => { logger.log("--------------------------"); logger.log("🏃🏃 Pipeline started 🏃🏃"); logger.log("--------------------------"); let current_job_number = 1; for (const job of jobs) { await job.run(current_job_number, jobs.length); if (job.fail === true) { logger.log("--------------------------"); logger.log(`${chalk.red("❌❌")} Pipeline fail ${chalk.red("❌❌")}`); logger.log("--------------------------"); process.exit(1); } current_job_number++; } logger.log("--------------------------"); logger.log(`${chalk.green("✔ ✔")} Pipeline complete ${chalk.green("✔ ✔")}`); logger.log("--------------------------"); }; startPipeline();