zuul-jobs/test-playbooks/ansible-lint-rules/run.yaml

43 lines
1.5 KiB
YAML

- hosts: all
roles:
- ensure-pip
tasks:
- name: Create tempdir for ansible-lint venv
tempfile:
state: directory
register: ansible_lint_tempdir
- name: Install test-requirements.txt
pip:
requirements: "{{ansible_user_dir}}/{{ zuul.project.src_dir }}/test-requirements.txt"
virtualenv: "{{ ansible_lint_tempdir.path }}"
- name: Make sure ansible-lint is installed
command: "{{ ansible_lint_tempdir.path }}/bin/ansible-lint --version"
- name: Make sure missing loopvars fail linting
command: "{{ ansible_lint_tempdir.path }}/bin/ansible-lint test-playbooks/ansible-lint-rules/roles/{{ item }}"
args:
chdir: "{{ansible_user_dir}}/{{ zuul.project.src_dir }}"
register: ansible_lint
failed_when: ansible_lint.rc == 0
loop:
- tasks-missing-loopvar-with
- tasks-missing-loopvar-loop
- tasks-include-missing-loopvar-with
- tasks-include-missing-loopvar-loop
- handlers-missing-loopvar-with
- handlers-missing-loopvar-loop
- name: Make sure valid configuration passes linting
command: "{{ ansible_lint_tempdir.path }}/bin/ansible-lint test-playbooks/ansible-lint-rules/roles/{{ item }}"
args:
chdir: "{{ansible_user_dir}}/{{ zuul.project.src_dir }}"
loop:
- tasks-loopvar-with
- tasks-loopvar-loop
- tasks-include-loopvar-with
- tasks-include-loopvar-loop
- handlers-loopvar-with
- handlers-loopvar-loop