docker_etl/verify_files.py (15 lines of code) (raw):

import sys from typing import List, Set, Tuple from docker_etl.file_utils import CI_JOB_NAME, CI_WORKFLOW_NAME, get_job_dirs REQUIRED_FILES = {CI_JOB_NAME, CI_WORKFLOW_NAME, "README.md", "Dockerfile"} def check_missing_files() -> List[Tuple[str, Set[str]]]: """Check all job directories for missing files.""" failed_jobs = [] for job_dir in get_job_dirs(): files = {content.name for content in job_dir.glob("*") if content.is_file()} missing_files = REQUIRED_FILES - files if len(missing_files) > 0: failed_jobs.append((job_dir.name, missing_files)) print(f"{job_dir.name} missing files: {', '.join(missing_files)}") return failed_jobs if __name__ == "__main__": sys.exit(len(check_missing_files()))