import { resolveJobs } from '../parse'; import { JobDefaults, Matrix, RawConfig, ResolvedConfig } from '../types'; /** * Per-job defaults for the `check-extension.yaml` reusable workflow. * Edit this map when a job is added, removed, or renamed in that * workflow — keys are validated against caller config and the values * supply the default tier list used when the caller doesn't override * `services` themselves. */ export const EXTENSION_JOBS: Record = { 'unit-test-extension': { services: [] }, 'compile-extension': { services: [] }, 'coding-standard': { services: [] }, 'integration_test': { services: [], requiredServices: ['db', 'search', 'queue', 'cache'], }, }; export const KNOWN_JOBS_EXTENSION: readonly string[] = Object.keys(EXTENSION_JOBS); /** * Resolves a parsed config file + supported-version matrix against * the check-extension job list. Thin wrapper that binds the kind and * the per-job defaults so callers don't repeat the wiring. */ export const resolveExtensionConfig = (raw: RawConfig, matrix: Matrix): ResolvedConfig => resolveJobs(raw, 'extension', EXTENSION_JOBS, matrix);