I'm trying to get a basic CI/CD pipeline working in Azure DevOps, using Azure hosted agents, and I'm running into a problem where West is silently failing to clone the project repo on west init.
Initializing the project on my development machine gives this output:
C:\Repos\westtest>west init -m dev.azure.com/.../westTest
=== Initializing in C:\Repos\westtest
--- Cloning manifest repository from dev.azure.com/.../westTest
Cloning into 'C:\Repos\westtest\.west\manifest-tmp'...
remote: Azure Repos
remote: Found 65 objects to send. (53 ms)
Unpacking objects: 100% (65/65), 9.81 KiB | 33.00 KiB/s, done.
--- setting manifest.path to westTest
=== Initialized. Now run "west update" inside C:\Repos\westtest.
The pipeline requires an access token to to be inserted into the URL so it can authenticate correctly, so the pipeline is running
west init -m https://$(System.AccessToken)@dev.azure.com/{org}/sandbox/_git/westTest
which outputs
=== Initializing in /home/vsts/work/1/s
--- Cloning manifest repository from https://***
Cloning into '/home/vsts/work/1/s/.west/manifest-tmp'...
--- setting manifest.path to westTest
=== Initialized. Now run "west update" inside /home/vsts/work/1/s.
The output here is missing the two "remote:" and "unpacking objects" steps that I get on my development machine. It looks like it's silently failing to clone the repo in the DevOps pipeline. Running west init
and west update
both succeed. There are no error messages in the build log.
There's a step to list out the contents of the working folder, $(Build.Repository.LocalPath), after running west init and west update. It shows the entire nRF Connect SDK is correctly downloaded into the working folder, but the actual project repo is missing.
My questions are
- Is it expected that West would silently fail to clone the project repo under these circumstances?
- Are there any guidelines to how to structure or use nRF Connect in a CI/CD system?