ci: rebalance hosted concurrency budget

This commit is contained in:
Tianyi Cui
2026-07-22 00:44:48 +08:00
parent 5bb594c400
commit ab1c24301a
4 changed files with 21 additions and 44 deletions

View File

@@ -44,20 +44,12 @@ describe('lint gate shards', () => {
eslintTargets: ['packages/[t-z]*/*/tests/**/*.ts'],
includeDuplication: false,
})
expect(selectLintShard('package-sources-a-m')).toEqual({
eslintTargets: ['packages/[a-m]*/*/src/**/*.ts'],
expect(selectLintShard('package-sources')).toEqual({
eslintTargets: ['packages/*/*/src/**/*.ts'],
includeDuplication: false,
})
expect(selectLintShard('package-sources-n-z')).toEqual({
eslintTargets: ['packages/[n-z]*/*/src/**/*.ts'],
includeDuplication: false,
})
expect(selectLintShard('package-tests-a-m')).toEqual({
eslintTargets: ['packages/[a-m]*/*/tests/**/*.ts'],
includeDuplication: false,
})
expect(selectLintShard('package-tests-n-z')).toEqual({
eslintTargets: ['packages/[n-z]*/*/tests/**/*.ts'],
expect(selectLintShard('package-tests')).toEqual({
eslintTargets: ['packages/*/*/tests/**/*.ts'],
includeDuplication: false,
})
expect(selectLintShard('repository')).toEqual({
@@ -72,20 +64,15 @@ describe('lint gate shards', () => {
})
})
it('assigns every package group once in the Linux and Windows topologies', () => {
it('assigns every package group once in the Linux topology', () => {
const groups = readdirSync(packagesRoot, { withFileTypes: true })
.filter(entry => entry.isDirectory())
.map(entry => entry.name)
.sort()
const topologies = [
[/^[a-c]/u, /^[d-m]/u, /^[n-s]/u, /^[t-z]/u],
[/^[a-m]/u, /^[n-z]/u],
]
const ranges = [/^[a-c]/u, /^[d-m]/u, /^[n-s]/u, /^[t-z]/u]
const assignments = ranges.flatMap(range => groups.filter(group => range.test(group))).sort()
for (const ranges of topologies) {
const assignments = ranges.flatMap(range => groups.filter(group => range.test(group))).sort()
expect(assignments).toEqual(groups)
}
expect(assignments).toEqual(groups)
})
it('rejects an unknown lane', () => {

View File

@@ -27,10 +27,8 @@ export function selectLintShard(name?: string): LintSelection {
return { eslintTargets: ['packages/[n-s]*/*/src/**/*.ts'], includeDuplication: false }
case 'package-sources-t-z':
return { eslintTargets: ['packages/[t-z]*/*/src/**/*.ts'], includeDuplication: false }
case 'package-sources-a-m':
return { eslintTargets: ['packages/[a-m]*/*/src/**/*.ts'], includeDuplication: false }
case 'package-sources-n-z':
return { eslintTargets: ['packages/[n-z]*/*/src/**/*.ts'], includeDuplication: false }
case 'package-sources':
return { eslintTargets: ['packages/*/*/src/**/*.ts'], includeDuplication: false }
case 'package-tests-a-c':
return { eslintTargets: ['packages/[a-c]*/*/tests/**/*.ts'], includeDuplication: false }
case 'package-tests-d-m':
@@ -39,10 +37,8 @@ export function selectLintShard(name?: string): LintSelection {
return { eslintTargets: ['packages/[n-s]*/*/tests/**/*.ts'], includeDuplication: false }
case 'package-tests-t-z':
return { eslintTargets: ['packages/[t-z]*/*/tests/**/*.ts'], includeDuplication: false }
case 'package-tests-a-m':
return { eslintTargets: ['packages/[a-m]*/*/tests/**/*.ts'], includeDuplication: false }
case 'package-tests-n-z':
return { eslintTargets: ['packages/[n-z]*/*/tests/**/*.ts'], includeDuplication: false }
case 'package-tests':
return { eslintTargets: ['packages/*/*/tests/**/*.ts'], includeDuplication: false }
case 'repository':
return {
eslintTargets: [