-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Feature Request: Implement KCL Linting
Problem Statement / Feature Request
This issue proposes the integration of KCL (Kusion Configuration Language) linting into our development workflows. By introducing KCL linting, we aim to enhance the quality, consistency, and maintainability of our KCL configurations, ensuring best practices are followed and potential issues are caught early in the development cycle.
Proposed Solution / Requirements
To achieve comprehensive KCL linting, the following actions are required:
-
Integrate KCL Linting into GitHub Workflows:
- Add a dedicated step or job within our existing or new GitHub Actions workflows to perform KCL linting on relevant files.
- Ensure the workflow fails if linting errors are detected, preventing problematic configurations from being merged.
-
Add KCL Linting to Taskfile:
- Introduce a new task in
Taskfile.yamlthat allows developers to run KCL linting locally. - This task should provide a convenient way to check KCL configurations before committing changes, aligning with our "fail fast" principle.
- Introduce a new task in
-
Develop Dagger-based CI Module for KCL Linting:
- The continuous integration (CI) module responsible for executing KCL linting should be built using Dagger.
- Leveraging Dagger will provide benefits such as:
- Reproducibility: Ensure linting runs consistently across all environments.
- Local Development Experience: Allow developers to run the exact same linting logic locally as in CI.
- Caching: Optimize linting execution times through efficient caching.
- Reusability: Promote the creation of reusable CI components.
Additional Notes / Considerations
- Tooling: We will need to identify and select the most suitable KCL linting tool(s) or libraries available.
- Configuration: Define clear linting rules and configurations that align with our project's standards.
- Documentation: Document the new KCL linting process, including how to run it locally and its role in the CI/CD pipeline.
Actionable Next Steps
- Research and select appropriate KCL linting tool(s) or libraries.
- Implement KCL linting in a new or existing GitHub Actions workflow.
- Create/Update a
Taskfileentry for local KCL linting. - Develop the Dagger-based CI module for KCL linting, ensuring it integrates seamlessly with GitHub Workflows and the local Taskfile setup.
- Document the KCL linting setup and usage guidelines.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels