mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-25 15:01:49 +00:00
ea1c9a7bf3
* feat(datasource/github-runners): add xcode-27 Add `xcode-27` and `xcode-27-xlarge` runner labels to the datasource. * feat(datasource/github-runners): add release date Add release date for the XCode 27 runners.
119 lines
3.6 KiB
TypeScript
119 lines
3.6 KiB
TypeScript
import { getPkgReleases } from '../index.ts';
|
|
import { GithubRunnersDatasource } from './index.ts';
|
|
|
|
describe('modules/datasource/github-runners/index', () => {
|
|
describe('getReleases', () => {
|
|
it('returns releases for Ubuntu', async () => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName: 'ubuntu',
|
|
});
|
|
|
|
expect(res).toMatchObject({
|
|
releases: [
|
|
{ version: '16.04', isDeprecated: true },
|
|
{ version: '18.04', isDeprecated: true },
|
|
{ version: '20.04', isDeprecated: true },
|
|
{ version: '22.04-arm' },
|
|
{ version: '22.04' },
|
|
{ version: '24.04-arm' },
|
|
{ version: '24.04' },
|
|
{ version: '26.04-arm' },
|
|
{ version: '26.04' },
|
|
],
|
|
sourceUrl: 'https://github.com/actions/runner-images',
|
|
});
|
|
});
|
|
|
|
it('returns releases for macOS', async () => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName: 'macos',
|
|
});
|
|
|
|
expect(res).toMatchObject({
|
|
releases: [
|
|
{ version: '10.15', isDeprecated: true },
|
|
{ version: '11', isDeprecated: true },
|
|
{ version: '12-large', isDeprecated: true },
|
|
{ version: '12', isDeprecated: true },
|
|
{ version: '13-xlarge', isDeprecated: true },
|
|
{ version: '13-large', isDeprecated: true },
|
|
{ version: '13', isDeprecated: true },
|
|
{ version: '14-xlarge' },
|
|
{ version: '14-large' },
|
|
{ version: '14' },
|
|
{ version: '15-xlarge' },
|
|
{ version: '15-large' },
|
|
{ version: '15-intel' },
|
|
{ version: '15' },
|
|
{ version: '26-xlarge' },
|
|
{ version: '26-intel' },
|
|
{ version: '26' },
|
|
],
|
|
sourceUrl: 'https://github.com/actions/runner-images',
|
|
});
|
|
});
|
|
|
|
it('returns releases for Windows', async () => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName: 'windows',
|
|
});
|
|
|
|
expect(res).toMatchObject({
|
|
releases: [
|
|
{ version: '11-arm' },
|
|
{ version: '2016', isDeprecated: true },
|
|
{ version: '2019', isDeprecated: true },
|
|
{ version: '2022' },
|
|
{ version: '2025' },
|
|
],
|
|
sourceUrl: 'https://github.com/actions/runner-images',
|
|
});
|
|
});
|
|
|
|
it('returns releases for Xcode', async () => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName: 'xcode',
|
|
});
|
|
|
|
expect(res).toMatchObject({
|
|
releases: [
|
|
{
|
|
version: '27-xlarge',
|
|
releaseTimestamp: '2026-10-15T00:00:00.000Z',
|
|
},
|
|
{ version: '27', releaseTimestamp: '2026-10-15T00:00:00.000Z' },
|
|
],
|
|
sourceUrl: 'https://github.com/actions/runner-images',
|
|
});
|
|
});
|
|
|
|
it('returns null if package is unknown', async () => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName: 'unknown',
|
|
});
|
|
|
|
expect(res).toBeNull();
|
|
});
|
|
|
|
it.each(['ubuntu', 'macos', 'windows'])(
|
|
'every %s release has a releaseTimestamp',
|
|
async (packageName) => {
|
|
const res = await getPkgReleases({
|
|
datasource: GithubRunnersDatasource.id,
|
|
packageName,
|
|
});
|
|
|
|
expect(res?.releases.length).toBeGreaterThan(0);
|
|
for (const release of res!.releases) {
|
|
expect(release.releaseTimestamp).toBeString();
|
|
}
|
|
},
|
|
);
|
|
});
|
|
});
|