Artem Goncharov b4574ec2bc Parse schema for validation
neither jsonschema not openapi validation are enough. In order to
improve the situation try to apply our own schema parser (ADT convertor)
to identify potential issues.

Change-Id: I607120aafe6eb3de56270e8d26ffbb0a3f99c101
2024-11-28 19:44:27 +01:00

27 lines
1.0 KiB
YAML

---
- hosts: all
tasks:
- name: Update openapi-core
ansible.builtin.pip:
name: "openapi-core"
state: "latest"
virtualenv: "{{ ansible_user_dir }}/.venv"
- name: Generate OpenAPI spec
args:
chdir: "{{ ansible_user_dir }}/.venv"
executable: /bin/bash
ansible.builtin.shell: >-
source {{ ansible_user_dir }}/.venv/bin/activate;
openstack-codegenerator
--work-dir {{ ansible_user_dir }}/{{ codegenerator_work_dir }}
--target openapi-spec
--service-type {{ openapi_service }}
--validate
{%- if codegenerator_api_ref is defined and codegenerator_api_ref is mapping %}
--api-ref-src {{ ansible_user_dir }}/{{ zuul.projects[codegenerator_api_ref.project].src_dir }}/{{ codegenerator_api_ref.path | default("/api-ref/build/html/index.html") }}
{% endif %}
- name: "Fix typos"
ansible.builtin.command: "{{ ansible_user_dir }}/bin/typos -vw {{ ansible_user_dir }}/{{ codegenerator_work_dir }}/openapi_specs"