How to syntax check list of tasks

This might be in the docs, but I cannot find it. I have the following files:

first-playbook.yml
second-playbook.yml
common-tasks.yml

common-tasks.yml is a list of tasks that is used in first-playbook.yml and second-playbook.yml through include_tasks common-tasks.yml

I’d like to syntax check everything before deploying. For playbooks I can do:

ansible-playbook --syntax-check first-playbook.yml

However, it is not possible for common tasks because it is a list of tasks

https://github.com/ansible/ansible/issues/16778

Another option would be that tasks got validated when including them, but that is not the case:

https://github.com/ansible/ansible/issues/15709

Is there a flag/ansible command that I can use to syntax check a list of tasks?

Ansible version

ansible 2.6.4

Maybe something like this: python -c ‘import yaml,sys;yaml.safe_load(sys.stdin)’ < common-tasks.yml

At the moment what I’m doing is a nasty hack like:

touch FAKE_PLAYBOOK.yml
echo “host: foo” > FAKE_PLAYBOOK.yml
echo " tasks">> FAKE_PLAYBOOK.yml
cat common_tasks.yml | awk ‘{print " " $0 }’
ansible-playbook --syntax-check FAKE_PLAYBOOK.yml

Obviously that only scores as hack

Not an answer to you question but some other way to do it.

Instead of include_tasks create a role common and put the task(s) there and add the role to both palybook, then they will get syntax checked.