name: validate-recipes on: push: branches: [main, develop] pull_request: branches: [main] jobs: validate: runs-on: fedora container: image: git.phyllo.me/devops/fedora-runner-image:latest steps: - uses: https://git.phyllo.me/devops/checkout@v5 with: fetch-depth: 0 - name: Install dependencies run: | pip install PyYAML pytest pykickstart - name: Generate all recipes run: | cd scripts make generate-recipes - name: Validate recipes (strict mode) run: | cd scripts python3 generate_recipe.py --validate ../recipes/*.cfg --strict - name: Run unit tests run: | cd scripts make test - name: Run integration tests run: | cd scripts make test-integration - name: Upload test results if: always() uses: actions/upload-artifact@v3 with: name: test-results path: _pytest_cache/ if-no-files-found: ignore