@Jaume: I had similar issue when I used "tools" as a dependency on my pipelines, however we've figured out a better approach.
1. You remove the dependency on all pipelines
2. You go to each agent and clone the "tools" in a predefined folder (like /home/go/tools )
3. On your tasks you use absolute paths for your "tools" scripts, /home/go/tools/example.sh
4. Add a new pipeline (or multiple if you use environments) and create a job that does a simple cd /home/go/tools and does git pull (make sure the material is the tools repo and has polling active)
5. Make the job in this pipeline "Run on all agents" to make it update all agents with the new code
6. (optional) If you have multiple agents on one VM you can tag just one of those on each VM as "primary-agent" (resource) and assign to the job in the updating pipeline to use as resource "primary-agent"
This way you don't have to keep re-adding the "tools" dependency on each pipeline
This way you update all your agents automatically after commit (or any method you wish, including cron scheduled)
This way if you want to update something regarding tooling setup you do it in 1 place (the update pipeline).
Cheers,
Marius