fix: allow to set ci option via API and config file
				
					
				
			This commit is contained in:
		
							parent
							
								
									635406c4c8
								
							
						
					
					
						commit
						2faff2637f
					
				
							
								
								
									
										5
									
								
								cli.js
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								cli.js
									
									
									
									
									
								
							| @ -47,11 +47,6 @@ Usage: | |||||||
|       return 0; |       return 0; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // Set the `noCi` options as yargs sets the `ci` options instead (because arg starts with `--no`)
 |  | ||||||
|     if (opts.ci === false) { |  | ||||||
|       opts.noCi = true; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     if (opts.debug) { |     if (opts.debug) { | ||||||
|       // Debug must be enabled before other requires in order to work
 |       // Debug must be enabled before other requires in order to work
 | ||||||
|       require('debug').enable('semantic-release:*'); |       require('debug').enable('semantic-release:*'); | ||||||
|  | |||||||
| @ -27,6 +27,9 @@ module.exports = async (context, opts) => { | |||||||
| 
 | 
 | ||||||
|   // Merge config file options and CLI/API options
 |   // Merge config file options and CLI/API options
 | ||||||
|   let options = {...config, ...opts}; |   let options = {...config, ...opts}; | ||||||
|  |   if (options.ci === false) { | ||||||
|  |     options.noCi = true; | ||||||
|  |   } | ||||||
|   const pluginsPath = {}; |   const pluginsPath = {}; | ||||||
|   let extendPaths; |   let extendPaths; | ||||||
|   ({extends: extendPaths, ...options} = options); |   ({extends: extendPaths, ...options} = options); | ||||||
|  | |||||||
| @ -164,18 +164,6 @@ test.serial('Do not set properties in option for which arg is not in command lin | |||||||
|   t.false('e' in run.args[0][0]); |   t.false('e' in run.args[0][0]); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| test.serial('Set "noCi" options to "true" with "--no-ci"', async t => { |  | ||||||
|   const run = stub().resolves(true); |  | ||||||
|   const argv = ['', '', '--no-ci']; |  | ||||||
|   const cli = requireNoCache('../cli', {'.': run, process: {...process, argv}}); |  | ||||||
| 
 |  | ||||||
|   const exitCode = await cli(); |  | ||||||
| 
 |  | ||||||
|   t.is(run.args[0][0].noCi, true); |  | ||||||
| 
 |  | ||||||
|   t.is(exitCode, 0); |  | ||||||
| }); |  | ||||||
| 
 |  | ||||||
| test.serial('Display help', async t => { | test.serial('Display help', async t => { | ||||||
|   const run = stub().resolves(true); |   const run = stub().resolves(true); | ||||||
|   const argv = ['', '', '--help']; |   const argv = ['', '', '--help']; | ||||||
|  | |||||||
| @ -90,6 +90,18 @@ test('Default values, reading repositoryUrl (http url) from package.json if not | |||||||
|   t.is(result.tagFormat, `v\${version}`); |   t.is(result.tagFormat, `v\${version}`); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | test('Convert "ci" option to "noCi"', async t => { | ||||||
|  |   const pkg = {repository: 'https://host.null/owner/module.git', release: {ci: false}}; | ||||||
|  |   // Create a git repository, set the current working directory at the root of the repo
 | ||||||
|  |   const {cwd} = await gitRepo(); | ||||||
|  |   // Create package.json in repository root
 | ||||||
|  |   await outputJson(path.resolve(cwd, 'package.json'), pkg); | ||||||
|  | 
 | ||||||
|  |   const {options: result} = await t.context.getConfig({cwd}); | ||||||
|  | 
 | ||||||
|  |   t.is(result.noCi, true); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
| test('Read options from package.json', async t => { | test('Read options from package.json', async t => { | ||||||
|   // Create a git repository, set the current working directory at the root of the repo
 |   // Create a git repository, set the current working directory at the root of the repo
 | ||||||
|   const {cwd} = await gitRepo(); |   const {cwd} = await gitRepo(); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user