mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-10-28 17:13:54 +08:00
Distribute the growing lifecycle catalog across more jobs
This commit is contained in:
@@ -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
@@ -1 +1 @@
|
||||
{"protected_inventory_sha256": "819dc1f98d34a3aa04e28d4d47c20cf380f37dd1c2d617f4499591567e584d56", "schema_version": 1}
|
||||
{"protected_inventory_sha256": "91232f8d24f79ff480b1bf29dfc58b1ec124af6001e6793a0326068b19192c18", "schema_version": 1}
|
||||
|
||||
@@ -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 = {}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user