Unified Action for Technology Detection and Specialized Workflows in summoners-sync #3
TheRustifyer
started this conversation in
Technical
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Description
In line with the goals of enforcing consistent linting, formatting, testing, and maintaining high code quality across summoners-sync, a unified approach makes it easier to manage and automate workflows for different underlying technologies.
Unified Technology Detection Action
We propose creating a general action that detects the underlying technology of a repository. This allows us to handle various tasks—such as linting, formatting, code coverage, and testing—based on the detected technology, using specialized workflows tailored to that technology.
Why a Unified Approach?
Rather than creating distinct actions for each specific task (like cargo lint, npm format, go vet, etc.), a general action can inspect the repository's technology. From there, it can dynamically invoke the appropriate workflow for each task—whether it's linting, formatting, testing, or auditing vulnerabilities.
General Technology Detection Action
This action scans the repository to identify its base technology, such as Rust, Java, Go, Python, JavaScript/TypeScript, or C++.
Template-Based Specialized Actions:
Based on the detected technology, a templated action is triggered. For instance:
Rust-based repositories may invoke:
eslint for linting,
prettier for formatting,
jest for testing,
and npm audit for security vulnerabilities.
Benefits:
By adopting this unified approach, summoners-sync will streamline CI/CD processes, maintaining a seamless integration of code assurance tasks tailored to each technology, while promoting a high standard of quality and security.
Beta Was this translation helpful? Give feedback.
All reactions