UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

42 lines 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.autoMergeNowOrLater = void 0; const mergePullRequest_1 = require("../github/v3/mergePullRequest"); const graphqlClient_1 = require("../github/v4/client/graphqlClient"); const enablePullRequestAutoMerge_1 = require("../github/v4/enablePullRequestAutoMerge"); const logger_1 = require("../logger"); const ora_1 = require("../ora"); async function autoMergeNowOrLater(options, pullNumber) { const text = `Auto-merge: Enabling via "${options.autoMergeMethod}"`; logger_1.logger.info(text); const spinner = (0, ora_1.ora)(options.interactive, text).start(); if (options.dryRun) { spinner.succeed(); return; } try { try { await (0, enablePullRequestAutoMerge_1.enablePullRequestAutoMerge)(options, pullNumber); } catch (e) { if (!(e instanceof graphqlClient_1.GithubV4Exception)) { throw e; } logger_1.logger.info(`Auto merge: Failed to enable auto merge for PR "#${pullNumber}" due to ${e.message}`); if (!(0, enablePullRequestAutoMerge_1.isMissingStatusChecksError)(e)) { throw e; } // if auto merge cannot be enabled due to missing status checks, the PR should be merged immediately logger_1.logger.info('Auto merge: Attempting to merge immediately'); await (0, mergePullRequest_1.mergePullRequest)(options, pullNumber); spinner.text = 'Auto-merge: Pull request was merged immediately'; } spinner.succeed(); } catch (e) { logger_1.logger.warn(`Auto merge: An error occurred ${e}`); spinner.fail(); } } exports.autoMergeNowOrLater = autoMergeNowOrLater; //# sourceMappingURL=autoMergeNowOrLater.js.map