mirror of
https://github.com/graycoreio/github-actions-magento2.git
synced 2026-06-13 13:14:53 +00:00
6db07e2737
TypeScript 6 enables `strict` by default and changes default @types inclusion.
31 lines
1.7 KiB
TypeScript
31 lines
1.7 KiB
TypeScript
import { getMatrixForVersions } from "./get-matrix-for-versions";
|
|
import { getIndividualVersionsForProject } from "../versions/get-versions-for-project";
|
|
import latestJson from '../kind/special-versions/latest.json';
|
|
import nightlyJson from '../kind/special-versions/nightly.json';
|
|
import { getDayBefore } from '../nightly/get-day-before';
|
|
import { getCurrentlySupportedVersions } from "../kind/get-currently-supported";
|
|
import { getUsableVersions } from "../kind/get-usable";
|
|
import { amendMatrixForNext } from "../nightly/amend-matrix-for-next";
|
|
import { getRecentVersions } from "../kind/recent";
|
|
|
|
export const getMatrixForKind = (kind: string, project: string, versions = "", recent_time_frame = '2y') => {
|
|
|
|
switch(kind){
|
|
case 'latest':
|
|
return getMatrixForVersions(project, latestJson[project as keyof typeof latestJson]);
|
|
case 'currently-supported':
|
|
return getMatrixForVersions(project, getCurrentlySupportedVersions(project, new Date()));
|
|
case 'usable':
|
|
return getMatrixForVersions(project, getUsableVersions(project));
|
|
case 'nightly':
|
|
return amendMatrixForNext(getMatrixForVersions(project, nightlyJson[project as keyof typeof nightlyJson]), 'https://upstream-nightly.mage-os.org', getDayBefore());
|
|
case 'all':
|
|
return getMatrixForVersions(project, Object.keys(getIndividualVersionsForProject(project)));
|
|
case 'custom':
|
|
return getMatrixForVersions(project, versions.split(","))
|
|
case 'recent':
|
|
return getMatrixForVersions(project, getRecentVersions(project, new Date(), recent_time_frame));
|
|
default:
|
|
throw new Error(`Unreachable kind: ${kind} discovered, please report to the maintainers.`);
|
|
}
|
|
} |