Fixes #3376
/claim #3376
Summary
This PR implements a new CLI command for validating Keep workflow YAML files, addressing issue #3376. The new alidate command ensures strict syntax and structure compliance for workflow definitions, providing clear feedback and robust error handling.
Features
- New Command: keep workflow validate –file
- Strict Validation:
- Checks for required top-level keys (workflow, id,
ame, riggers)
- Ensures correct types and non-empty values
- Validates triggers, steps, and actions structure
- Handles all error cases with clear, English messages
- User Feedback:
- Success and error messages are styled and informative
- Outputs summary of validated workflow on success
- Robust Error Handling:
- Handles missing files, YAML syntax errors, and invalid structure gracefully
Testing
- Comprehensive test suite: ests/test_workflow_validate.py (covers all edge cases and error conditions)
- Manual validation against all real workflows in the repository
- All outputs and error messages are in English
Demo
A full demo of the new validation command is available here:
YouTube Video Demo
Files Changed
- keep/cli/cli.py (new alidate command and logic)
- ests/test_workflow_validate.py (test cases for validation)
Notes
- No temporary or demo files are included in this PR.
- All requirements from the issue and bounty have been strictly followed.
- Code has been reviewed for style, syntax, and consistency with the repository.