Skip to content

Commit

Permalink
fix(golang-version): ignore future releases (#15083)
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
  • Loading branch information
MartinodF and viceice committed Apr 12, 2022
1 parent 443bef5 commit 7140865
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -529,18 +529,10 @@ Object {
"releaseTimestamp": "2022-03-03T00:00:00.000Z",
"version": "1.17.8",
},
Object {
"releaseTimestamp": "2022-04-07T00:00:00.000Z",
"version": "1.17.9",
},
Object {
"releaseTimestamp": "2022-03-15T00:00:00.000Z",
"version": "1.18.0",
},
Object {
"releaseTimestamp": "2022-04-07T00:00:00.000Z",
"version": "1.18.1",
},
],
"sourceUrl": "https://github.com/golang/go",
}
Expand Down
2 changes: 1 addition & 1 deletion lib/modules/datasource/golang-version/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ describe('modules/datasource/golang-version/index', () => {
datasource,
depName: 'golang',
});
expect(res.releases).toHaveLength(134);
expect(res.releases).toHaveLength(132);
expect(res.releases[0]).toEqual({
releaseTimestamp: '2012-03-28T00:00:00.000Z',
version: '1.0.0',
Expand Down
20 changes: 15 additions & 5 deletions lib/modules/datasource/golang-version/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const releaseDateRegex = regEx(
const releaseVersionRegex = regEx(
`Version\\{(?<versionMajor>\\d+),\\s+(?<versionMinor>\\d+),\\s+(?<patch>\\d+)\\}`
);
const releaseFutureRegex = regEx(`Future:\\s+true`);

export class GolangVersionDatasource extends Datasource {
static readonly id = 'golang-version';
Expand Down Expand Up @@ -57,6 +58,7 @@ export class GolangVersionDatasource extends Datasource {

// Parse the release list
let release: Release = { version: undefined };
let skipFutureRelease = false;
while (lines.length !== 0) {
const line = lines.shift();
if (line === releaseBeginningChar) {
Expand All @@ -66,14 +68,22 @@ export class GolangVersionDatasource extends Datasource {
);
}
} else if (line === releaseTerminationChar) {
if (release.version === undefined) {
throw new ExternalHostError(
new Error('Invalid file - release has empty version')
);
if (skipFutureRelease) {
skipFutureRelease = false;
} else {
if (release.version === undefined) {
throw new ExternalHostError(
new Error('Invalid file - release has empty version')
);
}
res.releases.push(release);
}
res.releases.push(release);
release = { version: undefined };
} else {
const isFutureRelease = releaseFutureRegex.test(line);
if (isFutureRelease) {
skipFutureRelease = true;
}
const releaseDateMatch = releaseDateRegex.exec(line);
if (releaseDateMatch) {
// Make a valid UTC timestamp
Expand Down

0 comments on commit 7140865

Please sign in to comment.