mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-10 21:06:15 -08:00
test(ci): [CI-TYPES-02] gate installed types across all libraries
This commit is contained in:
1 parent
00c131bff1
commit
01f3d00e4c
17 files changed
+974
-8
No files matched your search
@@ -99,6 +99,7 @@ export function validateCIWorkflow(source) {
|
||||
['test:vue-consumer', 'vue-consumer', 'vue-consumer-*/'],
|
||||
['test:iframe-history', 'iframe-history', 'iframe-history/'],
|
||||
['test:performance', 'performance', 'performance/'],
|
||||
['test:ecosystem-types', 'ecosystem-types', 'ecosystem-types/'],
|
||||
]) {
|
||||
const index = consumers.steps.findIndex(step => step.run === `yarn ${command} 2>&1 | tee refactor/.cache/ci/${log}.log`)
|
||||
assert(index > consumerIndex && !Object.hasOwn(consumers.steps[index], 'if'), 'Run complete consumers after restoring canonical Node')
|
||||
@@ -106,6 +107,8 @@ export function validateCIWorkflow(source) {
|
||||
assert(!browser.steps.some(step => step.run?.includes(`yarn ${command}`)), 'Do not repeat all-engine consumers in each playback leg')
|
||||
consumerIndex = index
|
||||
}
|
||||
for (const suffix of ['*.json', '*.log'])
|
||||
assert(consumerUpload.with.path.split('\n').includes(`refactor/.cache/*-package-types-*/${suffix}`), 'Retain specialized installed type evidence')
|
||||
const extraIndex = browser.steps.findIndex(step => step.run?.startsWith('yarn test:package --browser '))
|
||||
const sourceEngineIndex = browser.steps.findIndex(step => step.run === 'yarn test:browser:source --project=${{ matrix.browser }} 2>&1 | tee refactor/.cache/ci/browser-source.log')
|
||||
const engineIndex = browser.steps.findIndex(step => step.run === 'yarn test:browser:installed --project=${{ matrix.browser }} 2>&1 | tee refactor/.cache/ci/browser-installed.log')
|
||||
|
||||
@@ -67,6 +67,12 @@ for (const [name, mutate] of [
|
||||
}],
|
||||
['browser runtime not restored', w => w.jobs['browser-consumers'].steps.find(s => s.id === 'restore-canonical-node').with = { 'node-version': '22.12.0', 'package-manager-cache': false }],
|
||||
['skipped React consumer', w => w.jobs['browser-consumers'].steps.find(s => s.run?.startsWith('yarn test:react-consumer')).if = 'false'],
|
||||
['skipped ecosystem types', w => w.jobs['browser-consumers'].steps.find(s => s.run?.startsWith('yarn test:ecosystem-types')).if = 'false'],
|
||||
['removed ecosystem types', w => w.jobs['browser-consumers'].steps = w.jobs['browser-consumers'].steps.filter(s => !s.run?.startsWith('yarn test:ecosystem-types'))],
|
||||
['missing specialized type evidence', (w) => {
|
||||
const upload = w.jobs['browser-consumers'].steps.find(s => s.uses?.startsWith('actions/upload-artifact@'))
|
||||
upload.with.path = upload.with.path.replace('refactor/.cache/*-package-types-*/*.json', '')
|
||||
}],
|
||||
['removed React consumer', w => w.jobs['browser-consumers'].steps = w.jobs['browser-consumers'].steps.filter(s => !s.run?.startsWith('yarn test:react-consumer'))],
|
||||
['missing React evidence', w => w.jobs['browser-consumers'].steps.find(s => s.uses?.startsWith('actions/upload-artifact@')).with.path = 'refactor/.cache/ci/'],
|
||||
['skipped Vue consumer', w => w.jobs['browser-consumers'].steps.find(s => s.run?.startsWith('yarn test:vue-consumer')).if = 'false'],
|
||||
|
||||
@@ -112,6 +112,7 @@ export function readImpactModel(directory) {
|
||||
'checks yarn ci:check',
|
||||
'checks yarn ci:build',
|
||||
'browser-consumers yarn test:package',
|
||||
'browser-consumers yarn test:ecosystem-types',
|
||||
'browser-smoke yarn test:package --browser',
|
||||
'browser-smoke yarn test:browser:source --project=${{ matrix.browser }}',
|
||||
'browser-smoke yarn test:browser:installed --project=${{ matrix.browser }}',
|
||||
|
||||
Reference in new issue
Block a user