fix: add a flag indicate which branch is the main one
This commit is contained in:
		
							parent
							
								
									e722354f4f
								
							
						
					
					
						commit
						2caafbaa2b
					
				| @ -91,6 +91,7 @@ function release({release}) { | |||||||
|       name, |       name, | ||||||
|       range: getRange(min, bound), |       range: getRange(min, bound), | ||||||
|       accept: bound ? RELEASE_TYPE.slice(0, RELEASE_TYPE.indexOf(diff)) : RELEASE_TYPE, |       accept: bound ? RELEASE_TYPE.slice(0, RELEASE_TYPE.indexOf(diff)) : RELEASE_TYPE, | ||||||
|  |       main: idx === 0, | ||||||
|     }; |     }; | ||||||
|   }); |   }); | ||||||
| } | } | ||||||
|  | |||||||
| @ -155,16 +155,26 @@ test('Release branches - initial state', t => { | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=1.0.0 <1.1.0', accept: ['patch'], channel: undefined}, |       {type: 'release', name: 'master', range: '>=1.0.0 <1.1.0', accept: ['patch'], channel: undefined, main: true}, | ||||||
|       {type: 'release', name: 'next', range: '>=1.1.0 <2.0.0', accept: ['patch', 'minor'], channel: 'next'}, |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=1.1.0 <2.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         type: 'release', |         type: 'release', | ||||||
|         name: 'next-major', |         name: 'next-major', | ||||||
|         range: '>=2.0.0', |         range: '>=2.0.0', | ||||||
|         accept: ['patch', 'minor', 'major'], |         accept: ['patch', 'minor', 'major'], | ||||||
|         channel: 'next-major', |         channel: 'next-major', | ||||||
|  |         main: false, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| @ -178,16 +188,26 @@ test('Release branches - 3 release branches', t => { | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=1.0.2 <1.1.0', accept: ['patch'], channel: undefined}, |       {type: 'release', name: 'master', range: '>=1.0.2 <1.1.0', accept: ['patch'], channel: undefined, main: true}, | ||||||
|       {type: 'release', name: 'next', range: '>=1.2.0 <2.0.0', accept: ['patch', 'minor'], channel: 'next'}, |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=1.2.0 <2.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         type: 'release', |         type: 'release', | ||||||
|         name: 'next-major', |         name: 'next-major', | ||||||
|         range: '>=2.1.0', |         range: '>=2.1.0', | ||||||
|         accept: ['patch', 'minor', 'major'], |         accept: ['patch', 'minor', 'major'], | ||||||
|         channel: 'next-major', |         channel: 'next-major', | ||||||
|  |         main: false, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| @ -200,10 +220,26 @@ test('Release branches - 2 release branches', t => { | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=1.2.0 <2.0.0', accept: ['patch', 'minor'], channel: undefined}, |       { | ||||||
|       {type: 'release', name: 'next', range: '>=2.1.0', accept: ['patch', 'minor', 'major'], channel: 'next'}, |         type: 'release', | ||||||
|  |         name: 'master', | ||||||
|  |         range: '>=1.2.0 <2.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: undefined, | ||||||
|  |         main: true, | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=2.1.0', | ||||||
|  |         accept: ['patch', 'minor', 'major'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| }); | }); | ||||||
| @ -225,16 +261,19 @@ test('Release branches - cap ranges to first release only present on following b | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=2.0.0 <2.1.0', accept: ['patch'], channel: undefined}, |       {type: 'release', name: 'master', range: '>=2.0.0 <2.1.0', accept: ['patch'], channel: undefined, main: true}, | ||||||
|       {type: 'release', name: 'next', range: '>=2.1.0 <2.2.0', accept: ['patch'], channel: 'next'}, |       {type: 'release', name: 'next', range: '>=2.1.0 <2.2.0', accept: ['patch'], channel: 'next', main: false}, | ||||||
|       { |       { | ||||||
|         type: 'release', |         type: 'release', | ||||||
|         name: 'next-major', |         name: 'next-major', | ||||||
|         range: '>=2.2.0', |         range: '>=2.2.0', | ||||||
|         accept: ['patch', 'minor', 'major'], |         accept: ['patch', 'minor', 'major'], | ||||||
|         channel: 'next-major', |         channel: 'next-major', | ||||||
|  |         main: false, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| @ -247,10 +286,26 @@ test('Release branches - Handle missing previous tags in branch history', t => { | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=2.0.0 <3.0.0', accept: ['patch', 'minor'], channel: undefined}, |       { | ||||||
|       {type: 'release', name: 'next', range: '>=3.0.0', accept: ['patch', 'minor', 'major'], channel: 'next'}, |         type: 'release', | ||||||
|  |         name: 'master', | ||||||
|  |         range: '>=2.0.0 <3.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: undefined, | ||||||
|  |         main: true, | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=3.0.0', | ||||||
|  |         accept: ['patch', 'minor', 'major'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| }); | }); | ||||||
| @ -263,16 +318,26 @@ test('Release branches - enforce release gaps after downstream merge', t => { | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=2.0.0 <2.1.0', accept: ['patch'], channel: undefined}, |       {type: 'release', name: 'master', range: '>=2.0.0 <2.1.0', accept: ['patch'], channel: undefined, main: true}, | ||||||
|       {type: 'release', name: 'next', range: '>=2.1.0 <3.0.0', accept: ['patch', 'minor'], channel: 'next'}, |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=2.1.0 <3.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         type: 'release', |         type: 'release', | ||||||
|         name: 'next-major', |         name: 'next-major', | ||||||
|         range: '>=3.0.0', |         range: '>=3.0.0', | ||||||
|         accept: ['patch', 'minor', 'major'], |         accept: ['patch', 'minor', 'major'], | ||||||
|         channel: 'next-major', |         channel: 'next-major', | ||||||
|  |         main: false, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
| @ -286,16 +351,26 @@ test('Release branches - limit releases on 2nd and 3rd branche based on 1st bran | |||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   t.deepEqual( |   t.deepEqual( | ||||||
|     normalize.release({release}).map(({type, name, range, accept, channel}) => ({type, name, range, accept, channel})), |     normalize | ||||||
|  |       .release({release}) | ||||||
|  |       .map(({type, name, range, accept, channel, main}) => ({type, name, range, accept, channel, main})), | ||||||
|     [ |     [ | ||||||
|       {type: 'release', name: 'master', range: '>=3.0.0 <3.1.0', accept: ['patch'], channel: undefined}, |       {type: 'release', name: 'master', range: '>=3.0.0 <3.1.0', accept: ['patch'], channel: undefined, main: true}, | ||||||
|       {type: 'release', name: 'next', range: '>=3.1.0 <4.0.0', accept: ['patch', 'minor'], channel: 'next'}, |       { | ||||||
|  |         type: 'release', | ||||||
|  |         name: 'next', | ||||||
|  |         range: '>=3.1.0 <4.0.0', | ||||||
|  |         accept: ['patch', 'minor'], | ||||||
|  |         channel: 'next', | ||||||
|  |         main: false, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         type: 'release', |         type: 'release', | ||||||
|         name: 'next-major', |         name: 'next-major', | ||||||
|         range: '>=4.0.0', |         range: '>=4.0.0', | ||||||
|         accept: ['patch', 'minor', 'major'], |         accept: ['patch', 'minor', 'major'], | ||||||
|         channel: 'next-major', |         channel: 'next-major', | ||||||
|  |         main: false, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|   ); |   ); | ||||||
|  | |||||||
| @ -98,6 +98,7 @@ test('Plugins are called with expected values', async t => { | |||||||
|       accept: ['patch', 'minor'], |       accept: ['patch', 'minor'], | ||||||
|       tags: [{channels: ['next'], gitTag: 'v1.0.0@next', version: '1.0.0'}], |       tags: [{channels: ['next'], gitTag: 'v1.0.0@next', version: '1.0.0'}], | ||||||
|       type: 'release', |       type: 'release', | ||||||
|  |       main: true, | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       channel: 'next', |       channel: 'next', | ||||||
| @ -106,6 +107,7 @@ test('Plugins are called with expected values', async t => { | |||||||
|       accept: ['patch', 'minor', 'major'], |       accept: ['patch', 'minor', 'major'], | ||||||
|       tags: [{channels: ['next'], gitTag: 'v1.0.0@next', version: '1.0.0'}], |       tags: [{channels: ['next'], gitTag: 'v1.0.0@next', version: '1.0.0'}], | ||||||
|       type: 'release', |       type: 'release', | ||||||
|  |       main: false, | ||||||
|     }, |     }, | ||||||
|   ]; |   ]; | ||||||
|   const branch = branches[0]; |   const branch = branches[0]; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user