TINY-11177: Do less CI testing on branches (#10130)

This commit is contained in:
Andrew Herron
2025-02-06 15:14:02 +11:00
committed by GitHub
parent 387f7a7a77
commit 145b005b20
2 changed files with 1263 additions and 1046 deletions

68
Jenkinsfile vendored
View File

@ -92,28 +92,6 @@ def runTestPod(String cacheName, String name, String testname, String browser, S
}
}
def runTestNode(String branch, String name, String browser, String platform, String bucket, String buckets, Boolean runAll) {
return {
stage(name) {
node("bedrock-${platform}") {
echo "Bedrock tests for ${name} on $NODE_NAME"
checkout(scm)
tinyGit.addAuthorConfig()
gitMerge(branch)
// Clean and Install
exec("git clean -fdx modules scratch js dist")
yarnInstall()
exec("yarn ci")
echo "Running browser tests"
//(String name, String browser, String platform, String bucket, String buckets, Boolean runAll)
runBrowserTests(name, browser, platform, bucket, buckets, runAll)
}
}
}
}
def runHeadlessPod(String cacheName, Boolean runAll) {
Map node = [
name: 'node',
@ -232,25 +210,35 @@ timestamps {
}
}
// Local nodes use os: windows | macos; Remote tests use os full name e.g.: macOS Sonoma
def platforms = [
// Local tests
// [ browser: 'edge', os: 'windows' ],
// [ browser: 'firefox', os: 'macos' ],
// Remote tests
// [ browser: 'chrome', provider: 'aws', buckets: 2 ],
// [ browser: 'edge', provider: 'aws', buckets: 2 ], // TINY-10540: Investigate Edge issues in AWS
// [ browser: 'firefox', provider: 'aws', buckets: 2 ],
[ browser: 'chrome', provider: 'lambdatest', buckets: 1 ],
[ browser: 'firefox', provider: 'lambdatest', buckets: 1 ],
[ browser: 'edge', provider: 'lambdatest', buckets: 1 ],
[ browser: 'chrome', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ],
[ browser: 'firefox', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ],
[ browser: 'safari', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ]
// [ browser: 'chrome', provider: 'aws', buckets: 2 ],
// [ browser: 'edge', provider: 'aws', buckets: 2 ],
// [ browser: 'firefox', provider: 'aws', buckets: 2 ],
def winChrome = [ browser: 'chrome', provider: 'lambdatest', os: 'windows', buckets: 1 ]
def winFirefox = [ browser: 'firefox', provider: 'lambdatest', os: 'windows', buckets: 1 ]
def winEdge = [ browser: 'edge', provider: 'lambdatest', os: 'windows', buckets: 1 ]
def macChrome = [ browser: 'chrome', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ]
def macFirefox = [ browser: 'firefox', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ]
def macSafari = [ browser: 'safari', provider: 'lambdatest', os: 'macOS Sequoia', buckets: 1 ]
def branchBuildPlatforms = [
winChrome,
winFirefox,
macSafari,
]
def primaryBuildPlatforms = branchBuildPlatforms + [
winEdge,
macChrome,
macFirefox
];
def buildingPrimary = env.BRANCH_NAME == props.primaryBranch
def platforms = buildingPrimary ? primaryBuildPlatforms : branchBuildPlatforms
def processes = [:]
def runAllTests = env.BRANCH_NAME == props.primaryBranch
def runAllTests = buildingPrimary
for (int i = 0; i < platforms.size(); i++) {
def platform = platforms.get(i)
@ -267,9 +255,7 @@ timestamps {
def testName = "${env.BUILD_NUMBER}-${os}-${platform.browser}"
processes[name] = runTestPod(cacheName, name, "${testPrefix}_${testName}", platform.browser, platform.provider, platform.os, platform.version, s_bucket, s_buckets, runAllTests)
} else {
// use local
def name = "${os}-${platform.browser}"
processes[name] = runTestNode(props.primaryBranch, name, platform.browser, platform.os, s_bucket, s_buckets, runAllTests)
fail("platform provider not specified for ${os}-${platform.browser}${browserVersion}-${suffix}")
}
}
}

2241
yarn.lock

File diff suppressed because it is too large Load Diff