Submodules with branch in CI/CD pipeline

Dear experts,

In my CI/CD pipeline, I want to use the main branch of my submodule project instead of the master branch.

Therefore I added the branch attribute to my .gitmodules:

[submodule "roles/linux-trendmicro-ds-agent"]
	path = roles/linux-trendmicro-ds-agent
	url = ../../modules/ansible/linux-trendmicro-ds-agent.git
	branch = main

My GITLAB variables in .gitlab-ci.yml:

  GIT_SUBMODULE_STRATEGY: normal
  GIT_SUBMODULE_UPDATE_FLAGS: --no-single-branch --remote --jobs 1

However, the CI/CD job ends up with this error:

16:55:25.788998 git.c:455               trace: built-in: git submodule--helper ensure-core-worktree roles/linux-trendmicro-ds-agent
16:55:25.790850 git.c:455               trace: built-in: git submodule--helper relative-path roles/linux-trendmicro-ds-agent ''
16:55:25.793496 git.c:455               trace: built-in: git rev-parse --local-env-vars
16:55:25.795008 git.c:455               trace: built-in: git rev-parse --verify HEAD
16:55:25.799549 git.c:455               trace: built-in: git submodule--helper remote-branch roles/linux-trendmicro-ds-agent
16:55:25.802532 git.c:455               trace: built-in: git rev-parse --local-env-vars
16:55:25.805031 git.c:455               trace: built-in: git fetch --depth=50
16:55:25.805739 run-command.c:668       trace: run_command: git remote-https origin https://gitlab-ci-token:[MASKED]@code.siemens.com/modules/ansible/linux-trendmicro-ds-agent.git
16:55:25.807081 git.c:742               trace: exec: git-remote-https origin https://gitlab-ci-token:[MASKED]@code.siemens.com/modules/ansible/linux-trendmicro-ds-agent.git
16:55:25.809661 run-command.c:668       trace: run_command: git-remote-https origin https://gitlab-ci-token:[MASKED]@code.siemens.com/modules/ansible/linux-trendmicro-ds-agent.git
16:55:26.166152 run-command.c:668       trace: run_command: git --shallow-file '' unpack-objects -q --pack_header=2,0
16:55:26.167431 git.c:455               trace: built-in: git unpack-objects -q --pack_header=2,0
16:55:26.167989 run-command.c:668       trace: run_command: git --shallow-file '' rev-list --objects --stdin --quiet --alternate-refs
16:55:26.169152 git.c:455               trace: built-in: git rev-list --objects --stdin --quiet --alternate-refs
16:55:26.172087 run-command.c:1597      run_processes_parallel: preparing to run up to 1 tasks
16:55:26.172122 run-command.c:1629      run_processes_parallel: done
16:55:26.172136 run-command.c:668       trace: run_command: git maintenance run --auto --no-quiet
16:55:26.173432 git.c:455               trace: built-in: git maintenance run --auto --no-quiet
16:55:26.175919 git.c:455               trace: built-in: git rev-parse --local-env-vars
16:55:26.178426 git.c:455               trace: built-in: git submodule--helper print-default-remote
16:55:26.180984 git.c:455               trace: built-in: git rev-parse --local-env-vars
16:55:26.182600 git.c:455               trace: built-in: git rev-parse --verify origin/main
fatal: Needed a single revision
16:55:26.184506 git.c:742               trace: exec: git-sh-i18n--envsubst --variables 'Unable to find current ${remote_name}/${branch} revision in submodule path '\''$sm_path'\'''
16:55:26.184543 run-command.c:668       trace: run_command: git-sh-i18n--envsubst --variables 'Unable to find current ${remote_name}/${branch} revision in submodule path '\''$sm_path'\'''
16:55:26.187648 git.c:742               trace: exec: git-sh-i18n--envsubst 'Unable to find current ${remote_name}/${branch} revision in submodule path '\''$sm_path'\'''
16:55:26.187683 run-command.c:668       trace: run_command: git-sh-i18n--envsubst 'Unable to find current ${remote_name}/${branch} revision in submodule path '\''$sm_path'\'''
fatal: Unable to find current origin/main revision in submodule path 'roles/linux-trendmicro-ds-agent'

Any help greatly appreciated,
Elmar