Good afternoon folks
We’re using CircleCI with BitBucket repositories.
In repo-one, I have added a git submodule of repo-two (as a folder name docker). I added this using command git submodule add git@bitbucket.org:myteam/repo-two.git docker then git add, git push etc.
My CircleCI pipeline looks (abridged form) like:
my_service_test:
machine:
image: ubuntu-1604:202010-01
steps:
- checkout
- run: echo "do some other stuff using the docker folder"
This pipeline is run automatically using the CircleCI API by a “service account” user in CircleCI (just a normal user whose tokens etc. we store in contexts) rather than the individual who pushes code.
When it runs, the docker folder doesn’t exist - the pipeline can’t access resources in it. If I remove the submodule and just add a folder called docker with these resources in, the pipeline works fine.
When I add the line:
- run: git submodule sync --recursive && git submodule update --recursive --init
I get this error:
Submodule 'docker' (git@bitbucket.org:myteam/repo-two.git) registered for path 'docker'
Cloning into '/home/circleci/project/docker'...
Unauthorized
fatal: Could not read from remote repository.
The service account user running this pipeline has write access in BitBucket on both repo-one and repo-two.
What am I missing to get my submodules working?