Authenticate to GCLOUD using ID_TOKEN (Gitlab OIDC)

I followed the steps from all thee documentations
( Google Cloud workload identity federation and IAM policies | GitLab

(https://docs.gitlab.com/favicon.ico?v=2)GitLab and Google Cloud integration | GitLab

(https://docs.gitlab.com/favicon.ico?v=2)Connect to cloud services | GitLab

(https://docs.gitlab.com/favicon.ico?v=2)Configure OpenID Connect with GCP Workload Identity Federation | GitLab

(https://docs.gitlab.com/favicon.ico?v=2)OpenID Connect (OIDC) Authentication Using ID Tokens | GitLab

(https://docs.gitlab.com/favicon.ico?v=2)CI/CD YAML syntax reference | GitLab
to simplify authentication of GitLab CI/CD pipelines with Google Cloud but the first issue I have is that after creating the workload Identity pool and OIDC provider and set some attribrutes and assertions, my IAM principal is not passing the SUBJET_ATTRIBUTE_VALUE. here is how it looks: principal://iam.googleapis.com/projects/XXX/locations/global/workloadIdentityPools/gitlab-workload-identity-pool/subject/SUBJECT_ATTRIBUTE_VALUE.
Also not sure why I have principal instead of pricipalSet.
Regardless of this not sure how to get the credentials and actually use them for the service account impersonation.
I added this to my job in gitlab-ci.yaml file:

  id_tokens:
    GITLAB_OIDC_TOKEN:
      aud: https://gitlab.com

    - apt-get update -y
    - apt-get install -y curl
    - apt-get install -y jq
    - chmod +x ./get_credentials.sh
    - ./get_credentials.sh

Please any help?