fix: correctly determine release to add to a channel

- Add only the most recent release to a channel (rather than adding all the one not added yet)
- Avoid attempting to ad the version twice in case that version is already present in multiple upper branches
This commit is contained in:
Pierre Vanduynslager
2019-11-27 15:18:23 -05:00
parent 5744c5ecd2
commit aec96c791f
13 changed files with 440 additions and 503 deletions
+11 -6
View File
@@ -15,7 +15,7 @@ test('Get the highest non-prerelease valid tag', t => {
options: {tagFormat: `v\${version}`},
});
t.deepEqual(result, {version: '2.0.0', gitTag: 'v2.0.0', name: 'v2.0.0', gitHead: 'v2.0.0', channel: undefined});
t.deepEqual(result, {version: '2.0.0', gitTag: 'v2.0.0', name: 'v2.0.0', gitHead: 'v2.0.0', channels: undefined});
});
test('Get the highest prerelease valid tag, ignoring other tags from other prerelease channels', t => {
@@ -25,9 +25,14 @@ test('Get the highest prerelease valid tag, ignoring other tags from other prere
prerelease: 'beta',
channel: 'beta',
tags: [
{version: '1.0.0-beta.1', gitTag: 'v1.0.0-beta.1@beta', gitHead: 'v1.0.0-beta.1@beta', channel: 'beta'},
{version: '1.0.0-beta.2', gitTag: 'v1.0.0-beta.2@beta', gitHead: 'v1.0.0-beta.2@beta', channel: 'beta'},
{version: '1.0.0-alpha.1', gitTag: 'v1.0.0-alpha.1@alpha', gitHead: 'v1.0.0-alpha.1@alpha', channel: 'alpha'},
{version: '1.0.0-beta.1', gitTag: 'v1.0.0-beta.1@beta', gitHead: 'v1.0.0-beta.1@beta', channels: ['beta']},
{version: '1.0.0-beta.2', gitTag: 'v1.0.0-beta.2@beta', gitHead: 'v1.0.0-beta.2@beta', channels: ['beta']},
{
version: '1.0.0-alpha.1',
gitTag: 'v1.0.0-alpha.1@alpha',
gitHead: 'v1.0.0-alpha.1@alpha',
channels: ['alpha'],
},
],
type: 'prerelease',
},
@@ -39,7 +44,7 @@ test('Get the highest prerelease valid tag, ignoring other tags from other prere
gitTag: 'v1.0.0-beta.2@beta',
name: 'v1.0.0-beta.2',
gitHead: 'v1.0.0-beta.2@beta',
channel: 'beta',
channels: ['beta'],
});
});
@@ -76,5 +81,5 @@ test('Get the highest non-prerelease valid tag before a certain version', t => {
{before: '2.1.0'}
);
t.deepEqual(result, {version: '2.0.0', gitTag: 'v2.0.0', name: 'v2.0.0', gitHead: 'v2.0.0', channel: undefined});
t.deepEqual(result, {version: '2.0.0', gitTag: 'v2.0.0', name: 'v2.0.0', gitHead: 'v2.0.0', channels: undefined});
});