Fix/SW-2401 share cache in prod * fix: reuse cache between prod and pre-prod * tests: add tests for generating cachePrefix * tests: remove unnecessary reset of process.env * tests: add tests for generateCacheKey * fix: make sure that we don't get invalid cacheKeys * fix: make sure that we don't get invalid cacheKeys Approved-by: Linus Flood
27 lines
618 B
TypeScript
27 lines
618 B
TypeScript
/**
|
|
* This will match release branches
|
|
* @example
|
|
* release-v1.2.3
|
|
* release-v1.2
|
|
* release-v1
|
|
* release-v1.2.3-alpha
|
|
* release-v1.2-beta
|
|
* release-v1-preview
|
|
*/
|
|
const releaseRegex = /^release-v\d+(?:\.\d+){0,2}(?:-\w+)?$/
|
|
|
|
/**
|
|
* If the branch is a production branch reuse the same prefix so that we can reuse the cache between pre-prod and prod
|
|
* @param branch
|
|
* @returns
|
|
*/
|
|
export const getBranchPrefix = (branch: string) => {
|
|
const isProdBranch =
|
|
branch === "production" ||
|
|
branch === "prod" ||
|
|
branch === "release" ||
|
|
releaseRegex.test(branch)
|
|
|
|
return isProdBranch ? "" : branch
|
|
}
|