feat: Improve lang detection and update templates
This commit enhances the language detection mechanism by allowing multiple detection files per language. This is particularly useful for languages like Python that can have different project structures (like poetry, pyproject, old school setup.py etc..)
Part of this PR we have updated the Tekton templates to use the v1 API version instead of v1beta1.
A new test case has been added for a Python project using Poetry which tests the new implementation of multi files detection.
Issue: https://issues.redhat.com/browse/SRVKP-5780
Changes
Submitter Checklist
-
[ ] ๐ Please ensure your commit message is clear and informative. For guidance on crafting effective commit messages, refer to the How to write a git commit message guide. We prefer the commit message to be included in the PR body itself rather than a link to an external website (ie: Jira ticket).
-
[ ] โฝ Before submitting a PR, run make test lint to avoid unnecessary CI processing. For an even more efficient workflow, consider installing pre-commit and running pre-commit install in the root of this repository.
-
[ ] โจ We use linters to maintain clean and consistent code. Please ensure you've run make lint before submitting a PR. Some linters offer a --fix mode, which can be executed with the command make fix-linters (ensure markdownlint and golangci-lint tools are installed first).
-
[ ] ๐ If you're introducing a user-facing feature or changing existing behavior, please ensure it's properly documented.
-
[ ] ๐งช While 100% coverage isn't a requirement, we encourage unit tests for any code changes where possible.
-
[ ] ๐ If feasible, please check if an end-to-end test can be added. See README for more details.
-
[ ] ๐ If there's any flakiness in the CI tests, don't necessarily ignore it. It's better to address the issue before merging, or provide a valid reason to bypass it if fixing isn't possible (e.g., token rate limitations).