diff --git a/lib/manager/travis/package.js b/lib/manager/travis/package.js index a9c21b10bdddce204b1cb4411c0bac849f06237c..afc8aef9cee9c9744bf871c6144b826c996826ec 100644 --- a/lib/manager/travis/package.js +++ b/lib/manager/travis/package.js @@ -21,13 +21,19 @@ async function getPackageUpdates(config) { if (!(supportPolicy && supportPolicy.length)) { supportPolicy = ['lts']; } + for (const policy of supportPolicy) { + if (!Object.keys(policies).includes(policy)) { + logger.warn(`Unknown supportPolicy: ${policy}`); + return []; + } + } + logger.debug({ supportPolicy }, `supportPolicy`); let newVersion = supportPolicy .map(policy => policies[policy]) .reduce((result, policy) => result.concat(policy), []) .sort() // sort combined array .reverse() // we want to order latest to oldest .map(version => `${version}`); // convert to strings - logger.debug({ newVersion }); if (config.pinVersions || semver.valid(config.currentVersion[0])) { const releases = await getRepoReleases('nodejs/node'); newVersion = newVersion.map(version => diff --git a/test/manager/travis/package.spec.js b/test/manager/travis/package.spec.js index e7ebcec7c0c38f9210cf4b86b31e0911ee9b1cc6..c870391a1714ca3b9575b5e59b00be63df4cc5cd 100644 --- a/test/manager/travis/package.spec.js +++ b/test/manager/travis/package.spec.js @@ -12,6 +12,11 @@ describe('lib/workers/package/node', () => { ...defaultConfig, }; }); + it('returns empty if invalid supportPolicy', async () => { + config.currentVersion = ['6', '8']; + config.supportPolicy = ['foo']; + expect(await node.getPackageUpdates(config)).toEqual([]); + }); it('returns empty if matching', async () => { config.currentVersion = ['6', '8']; config.supportPolicy = ['lts_active'];