Best practices of managing k6 test cases across applications

Hi, All, anyone could share some best practices about managing/maintaining k6 test cases? More specifically: The test cases are better to be stored along with the application code in the same repo or it’s better to store all test cases across products in a centralized repo?
Pros and cons between these 2 approaches.
If I store test cases close to the application code, devs are able to run the test cases from the IDE easily whenever it’s needed. However, it’s a bit of a challenge to manage/maintain:

  • Test cases. For example, as devs build new code, the application will ultimately change and could affect the scripts that need to be run. (perhaps there is a new section of code being added in v1.2.0 that v1.1.9 did not have)
  • Common modules/functions. Some functions are supposed to be shared across applications that are maintained in multiple repositories. If the test cases stay close to the application code, the users are hard to locate the common modules/functions, especially for users from different application code bases.

On the other hand, if I maintain all test cases in a dedicated repository. It would be easier to manage and call different modules and work on further automation & integration. However, devs have to find their specific test cases from other places.

I am quite interested in others’ feedback on this issue as I am trying to improve how I structure things and prevent issues down the line that I haven’t encountered, yet. Thanks!!