Using multiple Yaml files in a GitLab project repo

Replace this template with your information

Describe your question in as much detail as possible:
I am in the design phase of GitLab based DevSecOps environment. We will use the Ultimate edition. My client has more than 200 enterprise applications to migrate to GitLab. When onboarding large and complex applications my DevSecOps team is considering breaking down one long gitlab-ci.yml file into multiple files to increase readability, and reduce duplication of the same configuration in multiple places. Pipeline stages for the applications are: unit testing, integration testing, functional testing, 508 testing, code coverage, code quality scan, SAST scan, DAST scan.

For Java Maven microservices applications we’re considering creating one Yaml file per stage, which gives the hierarchy of Yaml files listed below. I wanted to know if this approach will work. Are there any drawbacks with it ? Please let me know.

gitlab-ci.yml

project-ci.yml and devops-gold.maven.yml||
|—|—|—|—|
build.yaml
unit-test.yaml
int-test.yaml
code-quality.yml
functional-test.yaml
508-test.yml
performance-test.yaml
bkward-compat-test.yml
code-coverage.yml
secret-detection.yaml
sast-scan.yml
dependency-scan.yaml
container-scan.yaml
dast-scan.yaml
iast-scan.yaml
package.yml
deploy.yml

Thank You
Narayanan