refactor: Modularize recipe generator

- Split generate_recipe.py into cli.py, recipe_generator.py, validators.py, manifest.py
- Removed override logic - modifiers now add fragments rather than replace
- Added filename deduplication to prevent overwriting recipes
- Updated CI workflows and tests to use new module structure
- Made pykickstart a hard dependency
- Removed ingredients/ directory support (only fragments/*.ks now used)
- New layout: 5 modules (~990 lines) vs single 769-line file
This commit is contained in:
Lukas Greve
2026-03-26 15:31:18 +01:00
parent 8f824cb977
commit 898c831065
35 changed files with 1004 additions and 1251 deletions
+4 -4
View File
@@ -23,22 +23,22 @@ jobs:
- name: Generate all recipes
run: |
cd scripts
cd recipe-generator
make generate-recipes
- name: Validate recipes (strict mode)
run: |
cd scripts
cd recipe-generator
python3 generate_recipe.py --validate ../recipes/*.cfg --strict
- name: Run unit tests
run: |
cd scripts
cd recipe-generator
make test
- name: Run integration tests
run: |
cd scripts
cd recipe-generator
make test-integration
- name: Upload test results