Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/lib-node-utilities / bin / release-to-namespace.js
Size: Mime:
const inquirer = require('inquirer');
const chalk = require('chalk');
const open = require('open');

const constants = require('./constants');
const { createOrUpdateTag } = require('../apis/github');

module.exports = async config => {
	if (!config[constants.CONFIG_GITHUB_TOKEN_KEY]) {
		console.log(chalk.red('You need to have a PAT in your configuration file'));
		console.log(`Run ${chalk.yellow('doodle init')} to save your PAT`);
		process.exit(1);
	}

	try {
		const repositoryAnswer = await inquirer.prompt([
			{
				type: 'list',
				name: 'repository',
				message: 'What repository do you want to deploy:',
				choices: config[constants.CONFIG_DEBUG_MODE_KEY]
					? [...constants.FRONTENDS, 'doodle-node-cli']
					: constants.FRONTENDS,
			},
		]);
		const namespaceAnswer = await inquirer.prompt([
			{
				type: 'list',
				name: 'namespace',
				message: 'What namespace do you want to deploy to:',
				choices: constants.NAMESPACES,
			},
		]);
		const branchAnswer = await inquirer.prompt([
			{
				type: 'input',
				name: 'branch',
				message: 'What branch do you want to deploy:',
			},
		]);

		const tagName = `dtn.${namespaceAnswer.namespace}`;
		await createOrUpdateTag(
			config[constants.CONFIG_GITHUB_TOKEN_KEY],
			repositoryAnswer.repository,
			tagName,
			branchAnswer.branch
		);
		open(`https://builder.internal.doodle-test.com/job/${repositoryAnswer.repository}/view/tags/job/${tagName}/`);

		process.exit(0);
	} catch (err) {
		console.log(chalk.red(err));
	}
};