How hard would it be to support non-Ansible based jobs please?
It is simple to tell Ansible to run something else. For instance, in
some systems I am responsible for, we use Ansible to orchestrate Puppet
runs and simple shell scripts. The puppet/shell bits do all the work,
Ansible just causes them to execute on remote hosts.
In fact, there is already a job in Zuul's standard library to run a test
command (like "run-tests.sh"), so you don't even have to write the
Ansible to do that:
https://zuul-ci.org/docs/zuul-jobs/general-jobs.html#job-run-test-command
We chose Ansible to be the execution engine that Zuul uses. because we
didn't want to invent yet another remote orchestration system. Zuul
supports running a single job in complex multi-node simulated
environments, and Ansible is an excellent multi-node orchestration
execution engine. But it's also easy to escape if your workload doesn't
benefit from it.
-Jim