While not a perfect solution, this can be implemented by having a Self-hosted Agent.
- Project settings -> Agent pools
- Create new Agent pool, say "local"
- Add a new Agent and follow the instructions. This includes downloading the binaries and configuring the Agent.
- Start the agent by running run.sh (or run.bat?)
- Make your pipeline use the new Agent pool
Last step can be done like this:
pool:
name: local
trigger: none
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
For me this is enough, I can do some testing and learning the syntax and that kind of things.
For macOS Monterey, this was a bit nasty to setup, as the MacOS security did not allow
the installer run properly. I had to allow each dll one by one in System Preferences -> Security.
Also, I had to restart the install.sh and run.sh multiple times during installation. But once security
is good, this provides exactly what I need.