all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe77:17c1
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 4b7ec1fc-f3cc-47f6-9b44-73726c06b14c
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe77:17c1
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.38
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.64
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe77:17c1
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/zuul-jobs/.zuul.yaml@main#64>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 127e698eb42948e6bfb0fc60ab885592
      build_refs:
      - branch: main
        change: '187'
        change_message: "chore(deps): update dependency black to v26.5.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [black](https://redirect.github.com/psf/black) ([changelog](https://redirect.github.com/psf/black/blob/main/CHANGES.md))
          | `26.3.1` \u2192 `26.5.1` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.5.1?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/26.3.1/26.5.1?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>psf/black (black)</summary>\n\n###
          [`v26.5.1`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2651)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.5.0...26.5.1)\n\n#####
          Stable style\n\n- Fix unstable formatting of annotated assignments whose
          subscript annotation contains\n  an inline comment (e.g. `x: list[  # pyright:
          ignore[...]`) ([#&#8203;5130](https://redirect.github.com/psf/black/issues/5130))\n-
          Preserve inline comments (including `# type: ignore`) immediately before
          a\n  `# fmt: skip` line, avoiding AST equivalence failures ([#&#8203;5139](https://redirect.github.com/psf/black/issues/5139))\n\n#####
          Packaging\n\n- Correct the version in the published executables ([#&#8203;5137](https://redirect.github.com/psf/black/issues/5137))\n\n#####
          Documentation\n\n- Add Neovim integration guide covering conform.nvim, ALE,
          and simple command approaches\n  ([#&#8203;5124](https://redirect.github.com/psf/black/issues/5124))\n\n###
          [`v26.5.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2650)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.3.1...26.5.0)\n\n#####
          Highlights\n\n- Add support for unpacking in comprehensions (PEP 798) and
          for lazy imports (PEP 810),\n  both new syntactic features in Python 3.15
          ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n- Python
          3.15 is now supported. Compiled wheels are not yet provided for Python 3.15,
          so\n  performance may be slower than on existing Python versions. Wheels
          will be provided\n  once Python 3.15 is later in its release cycle. ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Stable style\n\n- Fix `# fmt: skip` being ignored in nested `if` expressions
          with parenthesized `in`\n  clauses ([#&#8203;4903](https://redirect.github.com/psf/black/issues/4903))\n-
          Add syntactic support for Python 3.15 ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n-
          Fix crash when an f-string follows a `# fmt: off` comment inside brackets
          ([#&#8203;5097](https://redirect.github.com/psf/black/issues/5097))\n- Preserve
          multiline compound statement headers when `# fmt: skip` is placed on the\n
          \ colon line ([#&#8203;5117](https://redirect.github.com/psf/black/issues/5117))\n\n#####
          Preview style\n\n- Improve heuristics around whether blank lines should
          appear before, within and after\n  groups of same-name decorated functions
          (such as `@overload` groups) in `.pyi` stub\n  files ([#&#8203;5021](https://redirect.github.com/psf/black/issues/5021))\n-
          Fix blank lines being removed between a function and a decorated class in
          `.pyi` stub\n  files ([#&#8203;5092](https://redirect.github.com/psf/black/issues/5092))\n-
          Prevent string merger from creating unsplittable long lines when a pragma
          comment\n  (e.g. `# type: ignore`) follows the closing bracket ([#&#8203;5096](https://redirect.github.com/psf/black/issues/5096))\n\n#####
          Packaging\n\n- Run CI on 3.15 ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Output\n\n- Improve parse error readability by showing multi-line output
          with an error pointer.\n  ([#&#8203;5068](https://redirect.github.com/psf/black/issues/5068))\n-
          Add `SourceASTParseError` to distinguish source parse failures from internal
          safety\n  errors, improving error reporting when Black's lenient parser
          accepts input that\n  `ast.parse()` rejects ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          *Blackd*\n\n- Return HTTP 400 (Bad Request) for source parse failures instead
          of HTTP 500, keeping\n  HTTP 500 only for genuine internal safety errors
          ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          Integrations\n\n- Added documentation for doctest formatting tools and updated
          the integrations index to\n  match ([#&#8203;4916](https://redirect.github.com/psf/black/issues/4916))\n\n#####
          Documentation\n\n- Use \"Version X.Y.Z\" headings in changelog for stable
          permalink anchors on ReadTheDocs\n  ([#&#8203;5063](https://redirect.github.com/psf/black/issues/5063))\n-
          Note in the editor integrations that the SublimeText `sublack` plugin is
          archived and\n  unmaintained ([#&#8203;5082](https://redirect.github.com/psf/black/issues/5082))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule
          defined)\n\n\U0001F6A6 **Automerge**: Disabled by config. Please merge this
          manually once you are satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes
          conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**:
          Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/zuul-jobs).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/zuul-jobs/pull/187
        commit_id: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        patchset: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/zuul-jobs
          name: osism/zuul-jobs
          short_name: zuul-jobs
        src_dir: src/github.com/osism/zuul-jobs
        topic: null
      buildset: 4a8551cb6edd459a968b0dacbdc7eaeb
      buildset_refs:
      - branch: main
        change: '187'
        change_message: "chore(deps): update dependency black to v26.5.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [black](https://redirect.github.com/psf/black) ([changelog](https://redirect.github.com/psf/black/blob/main/CHANGES.md))
          | `26.3.1` \u2192 `26.5.1` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.5.1?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/26.3.1/26.5.1?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>psf/black (black)</summary>\n\n###
          [`v26.5.1`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2651)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.5.0...26.5.1)\n\n#####
          Stable style\n\n- Fix unstable formatting of annotated assignments whose
          subscript annotation contains\n  an inline comment (e.g. `x: list[  # pyright:
          ignore[...]`) ([#&#8203;5130](https://redirect.github.com/psf/black/issues/5130))\n-
          Preserve inline comments (including `# type: ignore`) immediately before
          a\n  `# fmt: skip` line, avoiding AST equivalence failures ([#&#8203;5139](https://redirect.github.com/psf/black/issues/5139))\n\n#####
          Packaging\n\n- Correct the version in the published executables ([#&#8203;5137](https://redirect.github.com/psf/black/issues/5137))\n\n#####
          Documentation\n\n- Add Neovim integration guide covering conform.nvim, ALE,
          and simple command approaches\n  ([#&#8203;5124](https://redirect.github.com/psf/black/issues/5124))\n\n###
          [`v26.5.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2650)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.3.1...26.5.0)\n\n#####
          Highlights\n\n- Add support for unpacking in comprehensions (PEP 798) and
          for lazy imports (PEP 810),\n  both new syntactic features in Python 3.15
          ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n- Python
          3.15 is now supported. Compiled wheels are not yet provided for Python 3.15,
          so\n  performance may be slower than on existing Python versions. Wheels
          will be provided\n  once Python 3.15 is later in its release cycle. ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Stable style\n\n- Fix `# fmt: skip` being ignored in nested `if` expressions
          with parenthesized `in`\n  clauses ([#&#8203;4903](https://redirect.github.com/psf/black/issues/4903))\n-
          Add syntactic support for Python 3.15 ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n-
          Fix crash when an f-string follows a `# fmt: off` comment inside brackets
          ([#&#8203;5097](https://redirect.github.com/psf/black/issues/5097))\n- Preserve
          multiline compound statement headers when `# fmt: skip` is placed on the\n
          \ colon line ([#&#8203;5117](https://redirect.github.com/psf/black/issues/5117))\n\n#####
          Preview style\n\n- Improve heuristics around whether blank lines should
          appear before, within and after\n  groups of same-name decorated functions
          (such as `@overload` groups) in `.pyi` stub\n  files ([#&#8203;5021](https://redirect.github.com/psf/black/issues/5021))\n-
          Fix blank lines being removed between a function and a decorated class in
          `.pyi` stub\n  files ([#&#8203;5092](https://redirect.github.com/psf/black/issues/5092))\n-
          Prevent string merger from creating unsplittable long lines when a pragma
          comment\n  (e.g. `# type: ignore`) follows the closing bracket ([#&#8203;5096](https://redirect.github.com/psf/black/issues/5096))\n\n#####
          Packaging\n\n- Run CI on 3.15 ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Output\n\n- Improve parse error readability by showing multi-line output
          with an error pointer.\n  ([#&#8203;5068](https://redirect.github.com/psf/black/issues/5068))\n-
          Add `SourceASTParseError` to distinguish source parse failures from internal
          safety\n  errors, improving error reporting when Black's lenient parser
          accepts input that\n  `ast.parse()` rejects ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          *Blackd*\n\n- Return HTTP 400 (Bad Request) for source parse failures instead
          of HTTP 500, keeping\n  HTTP 500 only for genuine internal safety errors
          ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          Integrations\n\n- Added documentation for doctest formatting tools and updated
          the integrations index to\n  match ([#&#8203;4916](https://redirect.github.com/psf/black/issues/4916))\n\n#####
          Documentation\n\n- Use \"Version X.Y.Z\" headings in changelog for stable
          permalink anchors on ReadTheDocs\n  ([#&#8203;5063](https://redirect.github.com/psf/black/issues/5063))\n-
          Note in the editor integrations that the SublimeText `sublack` plugin is
          archived and\n  unmaintained ([#&#8203;5082](https://redirect.github.com/psf/black/issues/5082))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule
          defined)\n\n\U0001F6A6 **Automerge**: Disabled by config. Please merge this
          manually once you are satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes
          conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**:
          Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/zuul-jobs).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/zuul-jobs/pull/187
        commit_id: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        patchset: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/zuul-jobs
          name: osism/zuul-jobs
          short_name: zuul-jobs
        src_dir: src/github.com/osism/zuul-jobs
        topic: null
      change: '187'
      change_message: "chore(deps): update dependency black to v26.5.1\n\nThis PR
        contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
        | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
        [black](https://redirect.github.com/psf/black) ([changelog](https://redirect.github.com/psf/black/blob/main/CHANGES.md))
        | `26.3.1` \u2192 `26.5.1` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.5.1?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/26.3.1/26.5.1?slim=true)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>psf/black (black)</summary>\n\n###
        [`v26.5.1`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2651)\n\n[Compare
        Source](https://redirect.github.com/psf/black/compare/26.5.0...26.5.1)\n\n#####
        Stable style\n\n- Fix unstable formatting of annotated assignments whose subscript
        annotation contains\n  an inline comment (e.g. `x: list[  # pyright: ignore[...]`)
        ([#&#8203;5130](https://redirect.github.com/psf/black/issues/5130))\n- Preserve
        inline comments (including `# type: ignore`) immediately before a\n  `# fmt:
        skip` line, avoiding AST equivalence failures ([#&#8203;5139](https://redirect.github.com/psf/black/issues/5139))\n\n#####
        Packaging\n\n- Correct the version in the published executables ([#&#8203;5137](https://redirect.github.com/psf/black/issues/5137))\n\n#####
        Documentation\n\n- Add Neovim integration guide covering conform.nvim, ALE,
        and simple command approaches\n  ([#&#8203;5124](https://redirect.github.com/psf/black/issues/5124))\n\n###
        [`v26.5.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2650)\n\n[Compare
        Source](https://redirect.github.com/psf/black/compare/26.3.1...26.5.0)\n\n#####
        Highlights\n\n- Add support for unpacking in comprehensions (PEP 798) and
        for lazy imports (PEP 810),\n  both new syntactic features in Python 3.15
        ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n- Python
        3.15 is now supported. Compiled wheels are not yet provided for Python 3.15,
        so\n  performance may be slower than on existing Python versions. Wheels will
        be provided\n  once Python 3.15 is later in its release cycle. ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
        Stable style\n\n- Fix `# fmt: skip` being ignored in nested `if` expressions
        with parenthesized `in`\n  clauses ([#&#8203;4903](https://redirect.github.com/psf/black/issues/4903))\n-
        Add syntactic support for Python 3.15 ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n-
        Fix crash when an f-string follows a `# fmt: off` comment inside brackets
        ([#&#8203;5097](https://redirect.github.com/psf/black/issues/5097))\n- Preserve
        multiline compound statement headers when `# fmt: skip` is placed on the\n
        \ colon line ([#&#8203;5117](https://redirect.github.com/psf/black/issues/5117))\n\n#####
        Preview style\n\n- Improve heuristics around whether blank lines should appear
        before, within and after\n  groups of same-name decorated functions (such
        as `@overload` groups) in `.pyi` stub\n  files ([#&#8203;5021](https://redirect.github.com/psf/black/issues/5021))\n-
        Fix blank lines being removed between a function and a decorated class in
        `.pyi` stub\n  files ([#&#8203;5092](https://redirect.github.com/psf/black/issues/5092))\n-
        Prevent string merger from creating unsplittable long lines when a pragma
        comment\n  (e.g. `# type: ignore`) follows the closing bracket ([#&#8203;5096](https://redirect.github.com/psf/black/issues/5096))\n\n#####
        Packaging\n\n- Run CI on 3.15 ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
        Output\n\n- Improve parse error readability by showing multi-line output with
        an error pointer.\n  ([#&#8203;5068](https://redirect.github.com/psf/black/issues/5068))\n-
        Add `SourceASTParseError` to distinguish source parse failures from internal
        safety\n  errors, improving error reporting when Black's lenient parser accepts
        input that\n  `ast.parse()` rejects ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
        *Blackd*\n\n- Return HTTP 400 (Bad Request) for source parse failures instead
        of HTTP 500, keeping\n  HTTP 500 only for genuine internal safety errors ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
        Integrations\n\n- Added documentation for doctest formatting tools and updated
        the integrations index to\n  match ([#&#8203;4916](https://redirect.github.com/psf/black/issues/4916))\n\n#####
        Documentation\n\n- Use \"Version X.Y.Z\" headings in changelog for stable
        permalink anchors on ReadTheDocs\n  ([#&#8203;5063](https://redirect.github.com/psf/black/issues/5063))\n-
        Note in the editor integrations that the SublimeText `sublack` plugin is archived
        and\n  unmaintained ([#&#8203;5082](https://redirect.github.com/psf/black/issues/5082))\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
        At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule
        defined)\n\n\U0001F6A6 **Automerge**: Disabled by config. Please merge this
        manually once you are satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes
        conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**:
        Close this PR and you won't be reminded about this update again.\n\n---\n\n
        - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
        box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
        View the [repository job log](https://developer.mend.io/github/osism/zuul-jobs).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/zuul-jobs/pull/187
      child_jobs: []
      commit_id: d1fe6cba6e3892a9fd0da0542aea6d613899845b
      event_id: 410e9560-5306-11f1-9424-745146a74816
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/127e698eb42948e6bfb0fc60ab885592/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/127e698eb42948e6bfb0fc60ab885592/work/logs
        result_data_file: /var/lib/zuul/builds/127e698eb42948e6bfb0fc60ab885592/work/results.json
        src_root: /var/lib/zuul/builds/127e698eb42948e6bfb0fc60ab885592/work/src
        work_root: /var/lib/zuul/builds/127e698eb42948e6bfb0fc60ab885592/work
      include_vars: []
      items:
      - branch: main
        change: '187'
        change_message: "chore(deps): update dependency black to v26.5.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [black](https://redirect.github.com/psf/black) ([changelog](https://redirect.github.com/psf/black/blob/main/CHANGES.md))
          | `26.3.1` \u2192 `26.5.1` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.5.1?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/26.3.1/26.5.1?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>psf/black (black)</summary>\n\n###
          [`v26.5.1`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2651)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.5.0...26.5.1)\n\n#####
          Stable style\n\n- Fix unstable formatting of annotated assignments whose
          subscript annotation contains\n  an inline comment (e.g. `x: list[  # pyright:
          ignore[...]`) ([#&#8203;5130](https://redirect.github.com/psf/black/issues/5130))\n-
          Preserve inline comments (including `# type: ignore`) immediately before
          a\n  `# fmt: skip` line, avoiding AST equivalence failures ([#&#8203;5139](https://redirect.github.com/psf/black/issues/5139))\n\n#####
          Packaging\n\n- Correct the version in the published executables ([#&#8203;5137](https://redirect.github.com/psf/black/issues/5137))\n\n#####
          Documentation\n\n- Add Neovim integration guide covering conform.nvim, ALE,
          and simple command approaches\n  ([#&#8203;5124](https://redirect.github.com/psf/black/issues/5124))\n\n###
          [`v26.5.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#Version-2650)\n\n[Compare
          Source](https://redirect.github.com/psf/black/compare/26.3.1...26.5.0)\n\n#####
          Highlights\n\n- Add support for unpacking in comprehensions (PEP 798) and
          for lazy imports (PEP 810),\n  both new syntactic features in Python 3.15
          ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n- Python
          3.15 is now supported. Compiled wheels are not yet provided for Python 3.15,
          so\n  performance may be slower than on existing Python versions. Wheels
          will be provided\n  once Python 3.15 is later in its release cycle. ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Stable style\n\n- Fix `# fmt: skip` being ignored in nested `if` expressions
          with parenthesized `in`\n  clauses ([#&#8203;4903](https://redirect.github.com/psf/black/issues/4903))\n-
          Add syntactic support for Python 3.15 ([#&#8203;5048](https://redirect.github.com/psf/black/issues/5048))\n-
          Fix crash when an f-string follows a `# fmt: off` comment inside brackets
          ([#&#8203;5097](https://redirect.github.com/psf/black/issues/5097))\n- Preserve
          multiline compound statement headers when `# fmt: skip` is placed on the\n
          \ colon line ([#&#8203;5117](https://redirect.github.com/psf/black/issues/5117))\n\n#####
          Preview style\n\n- Improve heuristics around whether blank lines should
          appear before, within and after\n  groups of same-name decorated functions
          (such as `@overload` groups) in `.pyi` stub\n  files ([#&#8203;5021](https://redirect.github.com/psf/black/issues/5021))\n-
          Fix blank lines being removed between a function and a decorated class in
          `.pyi` stub\n  files ([#&#8203;5092](https://redirect.github.com/psf/black/issues/5092))\n-
          Prevent string merger from creating unsplittable long lines when a pragma
          comment\n  (e.g. `# type: ignore`) follows the closing bracket ([#&#8203;5096](https://redirect.github.com/psf/black/issues/5096))\n\n#####
          Packaging\n\n- Run CI on 3.15 ([#&#8203;5127](https://redirect.github.com/psf/black/issues/5127))\n\n#####
          Output\n\n- Improve parse error readability by showing multi-line output
          with an error pointer.\n  ([#&#8203;5068](https://redirect.github.com/psf/black/issues/5068))\n-
          Add `SourceASTParseError` to distinguish source parse failures from internal
          safety\n  errors, improving error reporting when Black's lenient parser
          accepts input that\n  `ast.parse()` rejects ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          *Blackd*\n\n- Return HTTP 400 (Bad Request) for source parse failures instead
          of HTTP 500, keeping\n  HTTP 500 only for genuine internal safety errors
          ([#&#8203;5080](https://redirect.github.com/psf/black/issues/5080))\n\n#####
          Integrations\n\n- Added documentation for doctest formatting tools and updated
          the integrations index to\n  match ([#&#8203;4916](https://redirect.github.com/psf/black/issues/4916))\n\n#####
          Documentation\n\n- Use \"Version X.Y.Z\" headings in changelog for stable
          permalink anchors on ReadTheDocs\n  ([#&#8203;5063](https://redirect.github.com/psf/black/issues/5063))\n-
          Note in the editor integrations that the SublimeText `sublack` plugin is
          archived and\n  unmaintained ([#&#8203;5082](https://redirect.github.com/psf/black/issues/5082))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule
          defined)\n\n\U0001F6A6 **Automerge**: Disabled by config. Please merge this
          manually once you are satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes
          conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**:
          Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/zuul-jobs).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/zuul-jobs/pull/187
        commit_id: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        patchset: d1fe6cba6e3892a9fd0da0542aea6d613899845b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/zuul-jobs
          name: osism/zuul-jobs
          short_name: zuul-jobs
          src_dir: src/github.com/osism/zuul-jobs
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGJsYWNrIHRvIHYyNi41LjEKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgQ2hhbmdlIHwgW0FnZV0oaHR0cHM6Ly9kb2NzLnJlbm92YXRlYm90LmNvbS9tZXJnZS1jb25maWRlbmNlLykgfCBbQ29uZmlkZW5jZV0oaHR0cHM6Ly9kb2NzLnJlbm92YXRlYm90LmNvbS9tZXJnZS1jb25maWRlbmNlLykgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFtibGFja10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjaykgKFtjaGFuZ2Vsb2ddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svYmxvYi9tYWluL0NIQU5HRVMubWQpKSB8IGAyNi4zLjFgIOKGkiBgMjYuNS4xYCB8ICFbYWdlXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2FwaS9tYy9iYWRnZXMvYWdlL3B5cGkvYmxhY2svMjYuNS4xP3NsaW09dHJ1ZSkgfCAhW2NvbmZpZGVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9jb25maWRlbmNlL3B5cGkvYmxhY2svMjYuMy4xLzI2LjUuMT9zbGltPXRydWUpIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5wc2YvYmxhY2sgKGJsYWNrKTwvc3VtbWFyeT4KCiMjIyBbYHYyNi41LjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2Jsb2IvSEVBRC9DSEFOR0VTLm1kI1ZlcnNpb24tMjY1MSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9jb21wYXJlLzI2LjUuMC4uLjI2LjUuMSkKCiMjIyMjIFN0YWJsZSBzdHlsZQoKLSBGaXggdW5zdGFibGUgZm9ybWF0dGluZyBvZiBhbm5vdGF0ZWQgYXNzaWdubWVudHMgd2hvc2Ugc3Vic2NyaXB0IGFubm90YXRpb24gY29udGFpbnMKICBhbiBpbmxpbmUgY29tbWVudCAoZS5nLiBgeDogbGlzdFsgICMgcHlyaWdodDogaWdub3JlWy4uLl1gKSAoWyMmIzgyMDM7NTEzMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9pc3N1ZXMvNTEzMCkpCi0gUHJlc2VydmUgaW5saW5lIGNvbW1lbnRzIChpbmNsdWRpbmcgYCMgdHlwZTogaWdub3JlYCkgaW1tZWRpYXRlbHkgYmVmb3JlIGEKICBgIyBmbXQ6IHNraXBgIGxpbmUsIGF2b2lkaW5nIEFTVCBlcXVpdmFsZW5jZSBmYWlsdXJlcyAoWyMmIzgyMDM7NTEzOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9pc3N1ZXMvNTEzOSkpCgojIyMjIyBQYWNrYWdpbmcKCi0gQ29ycmVjdCB0aGUgdmVyc2lvbiBpbiB0aGUgcHVibGlzaGVkIGV4ZWN1dGFibGVzIChbIyYjODIwMzs1MTM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy81MTM3KSkKCiMjIyMjIERvY3VtZW50YXRpb24KCi0gQWRkIE5lb3ZpbSBpbnRlZ3JhdGlvbiBndWlkZSBjb3ZlcmluZyBjb25mb3JtLm52aW0sIEFMRSwgYW5kIHNpbXBsZSBjb21tYW5kIGFwcHJvYWNoZXMKICAoWyMmIzgyMDM7NTEyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9pc3N1ZXMvNTEyNCkpCgojIyMgW2B2MjYuNS4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9ibG9iL0hFQUQvQ0hBTkdFUy5tZCNWZXJzaW9uLTI2NTApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svY29tcGFyZS8yNi4zLjEuLi4yNi41LjApCgojIyMjIyBIaWdobGlnaHRzCgotIEFkZCBzdXBwb3J0IGZvciB1bnBhY2tpbmcgaW4gY29tcHJlaGVuc2lvbnMgKFBFUCA3OTgpIGFuZCBmb3IgbGF6eSBpbXBvcnRzIChQRVAgODEwKSwKICBib3RoIG5ldyBzeW50YWN0aWMgZmVhdHVyZXMgaW4gUHl0aG9uIDMuMTUgKFsjJiM4MjAzOzUwNDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwNDgpKQotIFB5dGhvbiAzLjE1IGlzIG5vdyBzdXBwb3J0ZWQuIENvbXBpbGVkIHdoZWVscyBhcmUgbm90IHlldCBwcm92aWRlZCBmb3IgUHl0aG9uIDMuMTUsIHNvCiAgcGVyZm9ybWFuY2UgbWF5IGJlIHNsb3dlciB0aGFuIG9uIGV4aXN0aW5nIFB5dGhvbiB2ZXJzaW9ucy4gV2hlZWxzIHdpbGwgYmUgcHJvdmlkZWQKICBvbmNlIFB5dGhvbiAzLjE1IGlzIGxhdGVyIGluIGl0cyByZWxlYXNlIGN5Y2xlLiAoWyMmIzgyMDM7NTEyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9pc3N1ZXMvNTEyNykpCgojIyMjIyBTdGFibGUgc3R5bGUKCi0gRml4IGAjIGZtdDogc2tpcGAgYmVpbmcgaWdub3JlZCBpbiBuZXN0ZWQgYGlmYCBleHByZXNzaW9ucyB3aXRoIHBhcmVudGhlc2l6ZWQgYGluYAogIGNsYXVzZXMgKFsjJiM4MjAzOzQ5MDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzQ5MDMpKQotIEFkZCBzeW50YWN0aWMgc3VwcG9ydCBmb3IgUHl0aG9uIDMuMTUgKFsjJiM4MjAzOzUwNDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwNDgpKQotIEZpeCBjcmFzaCB3aGVuIGFuIGYtc3RyaW5nIGZvbGxvd3MgYSBgIyBmbXQ6IG9mZmAgY29tbWVudCBpbnNpZGUgYnJhY2tldHMgKFsjJiM4MjAzOzUwOTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwOTcpKQotIFByZXNlcnZlIG11bHRpbGluZSBjb21wb3VuZCBzdGF0ZW1lbnQgaGVhZGVycyB3aGVuIGAjIGZtdDogc2tpcGAgaXMgcGxhY2VkIG9uIHRoZQogIGNvbG9uIGxpbmUgKFsjJiM4MjAzOzUxMTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUxMTcpKQoKIyMjIyMgUHJldmlldyBzdHlsZQoKLSBJbXByb3ZlIGhldXJpc3RpY3MgYXJvdW5kIHdoZXRoZXIgYmxhbmsgbGluZXMgc2hvdWxkIGFwcGVhciBiZWZvcmUsIHdpdGhpbiBhbmQgYWZ0ZXIKICBncm91cHMgb2Ygc2FtZS1uYW1lIGRlY29yYXRlZCBmdW5jdGlvbnMgKHN1Y2ggYXMgYEBvdmVybG9hZGAgZ3JvdXBzKSBpbiBgLnB5aWAgc3R1YgogIGZpbGVzIChbIyYjODIwMzs1MDIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy81MDIxKSkKLSBGaXggYmxhbmsgbGluZXMgYmVpbmcgcmVtb3ZlZCBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGEgZGVjb3JhdGVkIGNsYXNzIGluIGAucHlpYCBzdHViCiAgZmlsZXMgKFsjJiM4MjAzOzUwOTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwOTIpKQotIFByZXZlbnQgc3RyaW5nIG1lcmdlciBmcm9tIGNyZWF0aW5nIHVuc3BsaXR0YWJsZSBsb25nIGxpbmVzIHdoZW4gYSBwcmFnbWEgY29tbWVudAogIChlLmcuIGAjIHR5cGU6IGlnbm9yZWApIGZvbGxvd3MgdGhlIGNsb3NpbmcgYnJhY2tldCAoWyMmIzgyMDM7NTA5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BzZi9ibGFjay9pc3N1ZXMvNTA5NikpCgojIyMjIyBQYWNrYWdpbmcKCi0gUnVuIENJIG9uIDMuMTUgKFsjJiM4MjAzOzUxMjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUxMjcpKQoKIyMjIyMgT3V0cHV0CgotIEltcHJvdmUgcGFyc2UgZXJyb3IgcmVhZGFiaWxpdHkgYnkgc2hvd2luZyBtdWx0aS1saW5lIG91dHB1dCB3aXRoIGFuIGVycm9yIHBvaW50ZXIuCiAgKFsjJiM4MjAzOzUwNjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwNjgpKQotIEFkZCBgU291cmNlQVNUUGFyc2VFcnJvcmAgdG8gZGlzdGluZ3Vpc2ggc291cmNlIHBhcnNlIGZhaWx1cmVzIGZyb20gaW50ZXJuYWwgc2FmZXR5CiAgZXJyb3JzLCBpbXByb3ZpbmcgZXJyb3IgcmVwb3J0aW5nIHdoZW4gQmxhY2sncyBsZW5pZW50IHBhcnNlciBhY2NlcHRzIGlucHV0IHRoYXQKICBgYXN0LnBhcnNlKClgIHJlamVjdHMgKFsjJiM4MjAzOzUwODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wc2YvYmxhY2svaXNzdWVzLzUwODApKQoKIyMjIyMgKkJsYWNrZCoKCi0gUmV0dXJuIEhUVFAgNDAwIChCYWQgUmVxdWVzdCkgZm9yIHNvdXJjZSBwYXJzZSBmYWlsdXJlcyBpbnN0ZWFkIG9mIEhUVFAgNTAwLCBrZWVwaW5nCiAgSFRUUCA1MDAgb25seSBmb3IgZ2VudWluZSBpbnRlcm5hbCBzYWZldHkgZXJyb3JzIChbIyYjODIwMzs1MDgwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy81MDgwKSkKCiMjIyMjIEludGVncmF0aW9ucwoKLSBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciBkb2N0ZXN0IGZvcm1hdHRpbmcgdG9vbHMgYW5kIHVwZGF0ZWQgdGhlIGludGVncmF0aW9ucyBpbmRleCB0bwogIG1hdGNoIChbIyYjODIwMzs0OTE2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy80OTE2KSkKCiMjIyMjIERvY3VtZW50YXRpb24KCi0gVXNlICJWZXJzaW9uIFguWS5aIiBoZWFkaW5ncyBpbiBjaGFuZ2Vsb2cgZm9yIHN0YWJsZSBwZXJtYWxpbmsgYW5jaG9ycyBvbiBSZWFkVGhlRG9jcwogIChbIyYjODIwMzs1MDYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy81MDYzKSkKLSBOb3RlIGluIHRoZSBlZGl0b3IgaW50ZWdyYXRpb25zIHRoYXQgdGhlIFN1YmxpbWVUZXh0IGBzdWJsYWNrYCBwbHVnaW4gaXMgYXJjaGl2ZWQgYW5kCiAgdW5tYWludGFpbmVkIChbIyYjODIwMzs1MDgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHNmL2JsYWNrL2lzc3Vlcy81MDgyKSkKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiAoVVRDKQoKLSBCcmFuY2ggY3JlYXRpb24KICAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKQotIEF1dG9tZXJnZQogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL29zaXNtL3p1dWwtam9icykuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNeTR4TnprdU15SXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXpMakU0TWk0eUlpd2lkR0Z5WjJWMFFuSmhibU5vSWpvaWJXRnBiaUlzSW14aFltVnNjeUk2V3lKeVpXNXZkbUYwWlNKZGZRPT0tLT4K
      patchset: d1fe6cba6e3892a9fd0da0542aea6d613899845b
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 94e0415565213575dbdee5cb46c7247e770beee9
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-lint/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/zuul-jobs
        name: osism/zuul-jobs
        short_name: zuul-jobs
        src_dir: src/github.com/osism/zuul-jobs
      projects:
        github.com/osism/zuul-jobs:
          canonical_hostname: github.com
          canonical_name: github.com/osism/zuul-jobs
          checkout: main
          checkout_description: zuul branch
          commit: 94e0415565213575dbdee5cb46c7247e770beee9
          name: osism/zuul-jobs
          required: false
          short_name: zuul-jobs
          src_dir: src/github.com/osism/zuul-jobs
      ref: refs/pull/187/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
