mirror of
https://github.com/graycoreio/github-actions-magento2.git
synced 2026-06-15 13:51:20 +00:00
f7f0504691
* refactor: allow version matrixes by projects * feat: add initial version-matrix for mage-os * feat: add project as optional input to action * docs: document new input * refactor: tighten types a bit * chore: apply change requests from code review
22 lines
934 B
TypeScript
22 lines
934 B
TypeScript
import { GithubActionsMatrix, PackageMatrixVersion } from "./matrix-type";
|
|
import { getIndividualVersionsForProject, getCompositeVersionsForProject } from "../versions/get-versions-for-project";
|
|
|
|
/**
|
|
* Computes the GitHub Actions Matrix for given versions of Magento
|
|
*/
|
|
export const getMatrixForVersions = (project: string, versions: string[]): GithubActionsMatrix => {
|
|
const knownVersions : Record<string, PackageMatrixVersion> = {
|
|
...getIndividualVersionsForProject(project), ...getCompositeVersionsForProject(project)
|
|
}
|
|
|
|
return versions.reduce((acc, current): GithubActionsMatrix => {
|
|
if (knownVersions[current] === undefined){
|
|
throw new Error(`Unknown "${current}" version while computing matrix`);
|
|
}
|
|
|
|
return {
|
|
magento: [...acc.magento, current],
|
|
include: [...acc.include, knownVersions[current]]
|
|
}
|
|
}, {magento: [], include: []});
|
|
} |