Distribute the growing lifecycle catalog across more jobs

This commit is contained in:
firestar5683
2026-10-23 22:35:57 -05:00
parent 317f08d15a
commit 15dc2cb26c
4 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -320,7 +320,7 @@ jobs:
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3, 4, 5, 6, 7]
shard: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
env:
FUZZ_SEED: '0'
steps:
@@ -330,7 +330,7 @@ jobs:
run: scons
- name: Gate every assigned lifecycle module serially
timeout-minutes: 10
run: python3 tools/ci/run_vehicle_tests.py --suite aol-lifecycle --shard-index "${{ matrix.shard }}" --shard-count 8 --output "ci-results/aol-lifecycle-${{ matrix.shard }}"
run: python3 tools/ci/run_vehicle_tests.py --suite aol-lifecycle --shard-index "${{ matrix.shard }}" --shard-count 16 --output "ci-results/aol-lifecycle-${{ matrix.shard }}"
- name: Save every lifecycle outcome and native build
if: always()
uses: actions/upload-artifact@v4
@@ -353,7 +353,7 @@ jobs:
pattern: aol-lifecycle-*
path: ci-results/aol-lifecycles
- name: Require every full-catalog case exactly once and passed
run: python3 tools/ci/lifecycle_shards.py ci-results/aol-lifecycles --count 8 --output ci-results/aol-lifecycle-complete.json
run: python3 tools/ci/lifecycle_shards.py ci-results/aol-lifecycles --count 16 --output ci-results/aol-lifecycle-complete.json
- name: Save complete catalog verdict
if: always()
uses: actions/upload-artifact@v4
+1 -1
View File
@@ -1 +1 @@
{"protected_inventory_sha256": "819dc1f98d34a3aa04e28d4d47c20cf380f37dd1c2d617f4499591567e584d56", "schema_version": 1}
{"protected_inventory_sha256": "91232f8d24f79ff480b1bf29dfc58b1ec124af6001e6793a0326068b19192c18", "schema_version": 1}
+1 -1
View File
@@ -113,7 +113,7 @@ def workload_policy():
def partition(targets, identities, count):
if (not 1 <= count <= 8 or len(set(targets)) != len(targets) or len(set(identities)) != len(identities) or
if (not 1 <= count <= 16 or len(set(targets)) != len(targets) or len(set(identities)) != len(identities) or
any(not target.endswith('.py') or '::' in target or Path(target).is_absolute() or '..' in Path(target).parts for target in targets)):
raise ValueError('Invalid lifecycle catalog')
owners = {}
+1 -1
View File
@@ -100,7 +100,7 @@ class LifecycleShardTests(unittest.TestCase):
with self.subTest(targets=targets), self.assertRaises(ValueError):
helper.partition(targets, ids, 4)
with self.assertRaises(ValueError):
helper.partition(['other.py'], ['other.test_case'], 9)
helper.partition(['other.py'], ['other.test_case'], 17)
def test_future_declared_module_does_not_add_any_cases(self):
targets, identities = self.catalog()