cici-tools 0.18.3__tar.gz → 0.19.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. {cici_tools-0.18.3 → cici_tools-0.19.1}/.gitlab-ci.yml +2 -2
  2. {cici_tools-0.18.3 → cici_tools-0.19.1}/.pre-commit-config.yaml +3 -3
  3. {cici_tools-0.18.3 → cici_tools-0.19.1}/PKG-INFO +1 -1
  4. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/_version.py +3 -3
  5. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/models.py +8 -1
  6. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/PKG-INFO +1 -1
  7. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/SOURCES.txt +11 -0
  8. cici_tools-0.19.1/tests/fixtures/gitlab/image/.cici/.gitlab-ci.yml +27 -0
  9. cici_tools-0.19.1/tests/fixtures/gitlab/image/.cici/config.yaml +14 -0
  10. cici_tools-0.19.1/tests/fixtures/gitlab/image/image-check.yml +31 -0
  11. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/.cici/.gitlab-ci.yml +52 -0
  12. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/no-pages.yml +10 -0
  13. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-all.yml +14 -0
  14. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-expire-in.yml +12 -0
  15. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-expires-in.yml +11 -0
  16. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-path-prefix.yml +12 -0
  17. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages-publish.yml +12 -0
  18. cici_tools-0.19.1/tests/fixtures/gitlab/keyword-pages/pages.yml +11 -0
  19. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_cli.py +4 -1
  20. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_resolve_targets.py +2 -4
  21. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_yaml_style.py +96 -1
  22. {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/.gitlab-ci.yml +0 -0
  23. {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/README.md.j2 +0 -0
  24. {cici_tools-0.18.3 → cici_tools-0.19.1}/.cici/config.yaml +0 -0
  25. {cici_tools-0.18.3 → cici_tools-0.19.1}/.dockerignore +0 -0
  26. {cici_tools-0.18.3 → cici_tools-0.19.1}/.gitignore +0 -0
  27. {cici_tools-0.18.3 → cici_tools-0.19.1}/.licenserc.yaml +0 -0
  28. {cici_tools-0.18.3 → cici_tools-0.19.1}/.pre-commit-hooks.yaml +0 -0
  29. {cici_tools-0.18.3 → cici_tools-0.19.1}/.prettierignore +0 -0
  30. {cici_tools-0.18.3 → cici_tools-0.19.1}/.prettierrc.yaml +0 -0
  31. {cici_tools-0.18.3 → cici_tools-0.19.1}/.secrets.baseline +0 -0
  32. {cici_tools-0.18.3 → cici_tools-0.19.1}/Dockerfile +0 -0
  33. {cici_tools-0.18.3 → cici_tools-0.19.1}/LICENSE +0 -0
  34. {cici_tools-0.18.3 → cici_tools-0.19.1}/MANIFEST.in +0 -0
  35. {cici_tools-0.18.3 → cici_tools-0.19.1}/NOTICE +0 -0
  36. {cici_tools-0.18.3 → cici_tools-0.19.1}/README.md +0 -0
  37. {cici_tools-0.18.3/cici/templates → cici_tools-0.19.1/cici}/__init__.py +0 -0
  38. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/__main__.py +0 -0
  39. {cici_tools-0.18.3/cici/schema → cici_tools-0.19.1/cici/cli}/__init__.py +0 -0
  40. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/bundle.py +0 -0
  41. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/readme.py +0 -0
  42. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/schema.py +0 -0
  43. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/cli/update.py +0 -0
  44. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/__init__.py +0 -0
  45. {cici_tools-0.18.3/cici/providers → cici_tools-0.19.1/cici/config/project}/__init__.py +0 -0
  46. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/project/models.py +0 -0
  47. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/project/serializers.py +0 -0
  48. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/config/user.py +0 -0
  49. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/constants.py +0 -0
  50. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/exceptions.py +0 -0
  51. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/main.py +0 -0
  52. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/paths.py +0 -0
  53. {cici_tools-0.18.3/cici/config/project → cici_tools-0.19.1/cici/providers}/__init__.py +0 -0
  54. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/__init__.py +0 -0
  55. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/constants.py +0 -0
  56. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/normalizers.py +0 -0
  57. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/serializers.py +0 -0
  58. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/utils.py +0 -0
  59. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/providers/gitlab/yaml_style.py +0 -0
  60. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/py.typed +0 -0
  61. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/schema/LICENSE.gitlab +0 -0
  62. {cici_tools-0.18.3/cici/cli → cici_tools-0.19.1/cici/schema}/__init__.py +0 -0
  63. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/schema/gitlab-ci.json +0 -0
  64. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/README.md.j2 +0 -0
  65. {cici_tools-0.18.3/cici → cici_tools-0.19.1/cici/templates}/__init__.py +0 -0
  66. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/brief.md.j2 +0 -0
  67. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/description.md.j2 +0 -0
  68. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/group-list.j2 +0 -0
  69. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/groups.md.j2 +0 -0
  70. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/target-list.md.j2 +0 -0
  71. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/target-table.md.j2 +0 -0
  72. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/targets.md.j2 +0 -0
  73. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/variable-list.md.j2 +0 -0
  74. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/templates/variables.md.j2 +0 -0
  75. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici/utils.py +0 -0
  76. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-bundle.yml +0 -0
  77. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-readme.yml +0 -0
  78. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici-update.yml +0 -0
  79. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/dependency_links.txt +0 -0
  80. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/entry_points.txt +0 -0
  81. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/requires.txt +0 -0
  82. {cici_tools-0.18.3 → cici_tools-0.19.1}/cici_tools.egg-info/top_level.txt +0 -0
  83. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/bundle.md +0 -0
  84. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/config-file.md +0 -0
  85. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/getting-started.md +0 -0
  86. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/gitlab-includes.md +0 -0
  87. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/index.md +0 -0
  88. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/install.md +0 -0
  89. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/readme.md +0 -0
  90. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/style.css +0 -0
  91. {cici_tools-0.18.3 → cici_tools-0.19.1}/docs/update.md +0 -0
  92. {cici_tools-0.18.3 → cici_tools-0.19.1}/makefile +0 -0
  93. {cici_tools-0.18.3 → cici_tools-0.19.1}/mkdocs.yml +0 -0
  94. {cici_tools-0.18.3 → cici_tools-0.19.1}/pyproject.toml +0 -0
  95. {cici_tools-0.18.3 → cici_tools-0.19.1}/requirements.txt +0 -0
  96. {cici_tools-0.18.3 → cici_tools-0.19.1}/scripts/gen-api-doc.py +0 -0
  97. {cici_tools-0.18.3 → cici_tools-0.19.1}/setup.cfg +0 -0
  98. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/extends/.cici/.gitlab-ci.yml +0 -0
  99. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/extends/simple-job.yml +0 -0
  100. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml +0 -0
  101. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-cm-push.yml +0 -0
  102. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-docs.yml +0 -0
  103. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/helm/helm-lint.yml +0 -0
  104. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/.cici/.gitlab-ci.yml +0 -0
  105. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/job-variables/.cici/config.yaml +0 -0
  106. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-apply.yml +0 -0
  107. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-auto-apply.yml +0 -0
  108. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-destroy.yml +0 -0
  109. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-plan.yml +0 -0
  110. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-trivy.yml +0 -0
  111. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-development-validate.yml +0 -0
  112. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-fmt.yml +0 -0
  113. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-module-build.yml +0 -0
  114. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-module-release.yml +0 -0
  115. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-apply.yml +0 -0
  116. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-auto-apply.yml +0 -0
  117. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-destroy.yml +0 -0
  118. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-plan.yml +0 -0
  119. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-trivy.yml +0 -0
  120. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-production-validate.yml +0 -0
  121. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-apply.yml +0 -0
  122. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-auto-apply.yml +0 -0
  123. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-destroy.yml +0 -0
  124. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-plan.yml +0 -0
  125. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-trivy.yml +0 -0
  126. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-staging-validate.yml +0 -0
  127. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-trivy.yml +0 -0
  128. {cici_tools-0.18.3/tests/fixtures/gitlab/targets-dir → cici_tools-0.19.1/tests/fixtures/gitlab/job-variables}/opentofu-validate.yml +0 -0
  129. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/.cici/README.md.j2 +0 -0
  130. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/.cici/config.yaml +0 -0
  131. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/library-validator/README.md +0 -0
  132. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/list-anchors/.cici/.gitlab-ci.yml +0 -0
  133. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/list-anchors/install.yml +0 -0
  134. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/nested-extends/.cici/.gitlab-ci.yml +0 -0
  135. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/nested-extends/simple-job.yml +0 -0
  136. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/.cici/.gitlab-ci.yml +0 -0
  137. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-container-scanning.yml +0 -0
  138. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-coverage.yml +0 -0
  139. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-junit.yml +0 -0
  140. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/reports/reports-terraform.yml +0 -0
  141. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/.cici/.gitlab-ci.yml +0 -0
  142. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/.cici/config.yaml +0 -0
  143. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-amd64.yml +0 -0
  144. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v6.yml +0 -0
  145. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v7.yml +0 -0
  146. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm64v8.yml +0 -0
  147. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-i386.yml +0 -0
  148. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch-manifest.yml +0 -0
  149. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker-multiarch.yml +0 -0
  150. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-docker.yml +0 -0
  151. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-hadolint.yml +0 -0
  152. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/service-key/container-trivy.yml +0 -0
  153. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/simple/.cici/.gitlab-ci.yml +0 -0
  154. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/simple/simple-job.yml +0 -0
  155. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/stages/.cici/.gitlab-ci.yml +0 -0
  156. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/stages/simple-job.yml +0 -0
  157. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/.cici/.gitlab-ci.yml +0 -0
  158. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/config.yaml +0 -0
  159. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-apply.yaml +0 -0
  160. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-auto-apply.yaml +0 -0
  161. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-destroy.yaml +0 -0
  162. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-plan.yaml +0 -0
  163. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-validate.yaml +0 -0
  164. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-fmt.yaml +0 -0
  165. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-build.yaml +0 -0
  166. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-release.yaml +0 -0
  167. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-apply.yaml +0 -0
  168. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-auto-apply.yaml +0 -0
  169. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-destroy.yaml +0 -0
  170. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-plan.yaml +0 -0
  171. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-trivy.yaml +0 -0
  172. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-validate.yaml +0 -0
  173. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-apply.yaml +0 -0
  174. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-auto-apply.yaml +0 -0
  175. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-destroy.yaml +0 -0
  176. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-plan.yaml +0 -0
  177. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-trivy.yaml +0 -0
  178. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-validate.yaml +0 -0
  179. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-trivy.yaml +0 -0
  180. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-validate.yaml +0 -0
  181. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/targets-dir/.cici/targets/tofu-development-trivy.yaml +0 -0
  182. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-apply.yml +0 -0
  183. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-auto-apply.yml +0 -0
  184. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-destroy.yml +0 -0
  185. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-plan.yml +0 -0
  186. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-trivy.yml +0 -0
  187. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-development-validate.yml +0 -0
  188. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-fmt.yml +0 -0
  189. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-module-build.yml +0 -0
  190. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-module-release.yml +0 -0
  191. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-apply.yml +0 -0
  192. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-auto-apply.yml +0 -0
  193. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-destroy.yml +0 -0
  194. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-plan.yml +0 -0
  195. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-trivy.yml +0 -0
  196. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-production-validate.yml +0 -0
  197. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-apply.yml +0 -0
  198. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-auto-apply.yml +0 -0
  199. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-destroy.yml +0 -0
  200. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-plan.yml +0 -0
  201. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-trivy.yml +0 -0
  202. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-staging-validate.yml +0 -0
  203. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-trivy.yml +0 -0
  204. {cici_tools-0.18.3/tests/fixtures/gitlab/job-variables → cici_tools-0.19.1/tests/fixtures/gitlab/targets-dir}/opentofu-validate.yml +0 -0
  205. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/.cici/.gitlab-ci.yml +0 -0
  206. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-fmt.yml +0 -0
  207. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-production-apply.yml +0 -0
  208. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-production-plan.yml +0 -0
  209. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-staging-apply.yml +0 -0
  210. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/terraform/terraform-staging-destroy.yml +0 -0
  211. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/variables/.cici/.gitlab-ci.yml +0 -0
  212. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/fixtures/gitlab/variables/simple-job.yml +0 -0
  213. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_build.py +0 -0
  214. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_expand_job_extends.py +0 -0
  215. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_import.py +0 -0
  216. {cici_tools-0.18.3 → cici_tools-0.19.1}/tests/test_precommit_hook_injection.py +0 -0
@@ -33,11 +33,11 @@ include:
33
33
  file:
34
34
  - mkdocs-build.yml
35
35
  - project: saferatday0/library/pages
36
- ref: 0.5.0
36
+ ref: 0.6.0
37
37
  file:
38
38
  - pages.yml
39
39
  - project: saferatday0/library/prettier
40
- ref: 0.7.1
40
+ ref: 0.8.0
41
41
  file:
42
42
  - prettier.yml
43
43
  - project: saferatday0/library/python
@@ -30,18 +30,18 @@ repos:
30
30
  ]
31
31
 
32
32
  - repo: https://gitlab.com/saferatday0/library/container
33
- rev: "0.8.1"
33
+ rev: "0.9.2"
34
34
  hooks:
35
35
  - id: container-hadolint
36
36
 
37
37
  - repo: https://gitlab.com/saferatday0/library/prettier
38
- rev: "0.7.1"
38
+ rev: "0.8.0"
39
39
  hooks:
40
40
  - id: prettier
41
41
  exclude: "^\\.gitlab-ci\\.yml$"
42
42
 
43
43
  - repo: https://gitlab.com/saferatday0/badgie
44
- rev: "0.14.2"
44
+ rev: "0.14.4"
45
45
  hooks:
46
46
  - id: badgie
47
47
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cici-tools
3
- Version: 0.18.3
3
+ Version: 0.19.1
4
4
  Summary: Continuous Integration Catalog Interface
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.18.3'
32
- __version_tuple__ = version_tuple = (0, 18, 3)
31
+ __version__ = version = '0.19.1'
32
+ __version_tuple__ = version_tuple = (0, 19, 1)
33
33
 
34
- __commit_id__ = commit_id = 'g5f54b28ca'
34
+ __commit_id__ = commit_id = 'ga17385576'
@@ -85,7 +85,7 @@ class IDToken(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
85
85
  aud: Union[str, list[str]] = field(default_factory=list)
86
86
 
87
87
 
88
- class Image(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True, tag="image"):
88
+ class Image(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True, tag=False):
89
89
  name: str
90
90
  entrypoint: Union[str, list[str]] = field(default_factory=list)
91
91
  pull_policy: Union[str, list[str]] = field(default_factory=list)
@@ -153,6 +153,12 @@ class Service(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
153
153
  pull_policy: Union[str, list[str]] = field(default_factory=list)
154
154
 
155
155
 
156
+ class Pages(msgspec.Struct, omit_defaults=True, frozen=True, kw_only=True):
157
+ publish: Optional[str] = None
158
+ expire_in: Optional[str] = None
159
+ path_prefix: Optional[str] = None
160
+
161
+
156
162
  class Job(
157
163
  msgspec.Struct,
158
164
  omit_defaults=True,
@@ -178,6 +184,7 @@ class Job(
178
184
  id_tokens: Dict[str, IDToken] = field(default_factory=dict)
179
185
  interruptible: bool = False
180
186
  needs: Optional[list[str]] = None
187
+ pages: Optional[Union[bool, Pages]] = None
181
188
  retry: Union[int, Retry] = 0
182
189
  resource_group: str = ""
183
190
  rules: List[Rule] = field(default_factory=list)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cici-tools
3
- Version: 0.18.3
3
+ Version: 0.19.1
4
4
  Summary: Continuous Integration Catalog Interface
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
@@ -92,6 +92,9 @@ tests/fixtures/gitlab/helm/helm-cm-push.yml
92
92
  tests/fixtures/gitlab/helm/helm-docs.yml
93
93
  tests/fixtures/gitlab/helm/helm-lint.yml
94
94
  tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml
95
+ tests/fixtures/gitlab/image/image-check.yml
96
+ tests/fixtures/gitlab/image/.cici/.gitlab-ci.yml
97
+ tests/fixtures/gitlab/image/.cici/config.yaml
95
98
  tests/fixtures/gitlab/job-variables/opentofu-development-apply.yml
96
99
  tests/fixtures/gitlab/job-variables/opentofu-development-auto-apply.yml
97
100
  tests/fixtures/gitlab/job-variables/opentofu-development-destroy.yml
@@ -117,6 +120,14 @@ tests/fixtures/gitlab/job-variables/opentofu-trivy.yml
117
120
  tests/fixtures/gitlab/job-variables/opentofu-validate.yml
118
121
  tests/fixtures/gitlab/job-variables/.cici/.gitlab-ci.yml
119
122
  tests/fixtures/gitlab/job-variables/.cici/config.yaml
123
+ tests/fixtures/gitlab/keyword-pages/no-pages.yml
124
+ tests/fixtures/gitlab/keyword-pages/pages-all.yml
125
+ tests/fixtures/gitlab/keyword-pages/pages-expire-in.yml
126
+ tests/fixtures/gitlab/keyword-pages/pages-expires-in.yml
127
+ tests/fixtures/gitlab/keyword-pages/pages-path-prefix.yml
128
+ tests/fixtures/gitlab/keyword-pages/pages-publish.yml
129
+ tests/fixtures/gitlab/keyword-pages/pages.yml
130
+ tests/fixtures/gitlab/keyword-pages/.cici/.gitlab-ci.yml
120
131
  tests/fixtures/gitlab/library-validator/README.md
121
132
  tests/fixtures/gitlab/library-validator/.cici/README.md.j2
122
133
  tests/fixtures/gitlab/library-validator/.cici/config.yaml
@@ -0,0 +1,27 @@
1
+ # SPDX-FileCopyrightText: UL Research Institutes
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ stages:
5
+ - test
6
+ - build
7
+ - deploy
8
+
9
+ workflow:
10
+ rules:
11
+ - if: $CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS
12
+ when: never
13
+ - when: always
14
+
15
+ image-check:
16
+ stage: test
17
+ image:
18
+ name: "${CONTAINER_PROXY}apache/skywalking-eyes"
19
+ entrypoint: ["/bin/sh", "-ce"]
20
+ cache: {}
21
+ dependencies: []
22
+ variables:
23
+ GIT_DEPTH: "1"
24
+ GIT_SUBMODULE_STRATEGY: "none"
25
+ script:
26
+ - license-eye header check
27
+ needs: []
@@ -0,0 +1,14 @@
1
+ # SPDX-FileCopyrightText: UL Research Institutes
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ name: image-check
5
+
6
+ brief: >-
7
+ Check image keyword.
8
+
9
+ targets:
10
+ - name: image-check
11
+ brief: >-
12
+ check image keyword works
13
+ groups:
14
+ - format
@@ -0,0 +1,31 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ stages:
7
+ - test
8
+ - build
9
+ - deploy
10
+
11
+ workflow:
12
+ rules:
13
+ - if: $CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS
14
+ when: never
15
+ - when: always
16
+
17
+ image-check:
18
+ stage: test
19
+ image:
20
+ name: ${CONTAINER_PROXY}apache/skywalking-eyes
21
+ entrypoint:
22
+ - "/bin/sh"
23
+ - "-ce"
24
+ variables:
25
+ GIT_DEPTH: "1"
26
+ GIT_SUBMODULE_STRATEGY: none
27
+ script:
28
+ - license-eye header check
29
+ cache: {}
30
+ dependencies: []
31
+ needs: []
@@ -0,0 +1,52 @@
1
+ # SPDX-FileCopyrightText: UL Research Institutes
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ # check pages keywords are rendered correctly
5
+
6
+
7
+ no-pages:
8
+ stage: test
9
+ image: whatever
10
+ script:
11
+ - pass
12
+
13
+ pages:
14
+ stage: test
15
+ image: whatever
16
+ pages: false
17
+ script:
18
+ - pass
19
+
20
+ pages-publish:
21
+ stage: test
22
+ image: whatever
23
+ pages:
24
+ publish: public
25
+ script:
26
+ - pass
27
+
28
+ pages-path_prefix:
29
+ stage: test
30
+ image: whatever
31
+ pages:
32
+ path_prefix: mr-$CI_COMMIT_REF_SLUG
33
+ script:
34
+ - pass
35
+
36
+ pages-expire_in:
37
+ stage: test
38
+ image: whatever
39
+ pages:
40
+ expire_in: 1 day
41
+ script:
42
+ - pass
43
+
44
+ pages-all:
45
+ stage: test
46
+ image: whatever
47
+ pages:
48
+ publish: public
49
+ path_prefix: preview-$CI_COMMIT_REF_SLUG
50
+ expire_in: 1 hour
51
+ script:
52
+ - pass
@@ -0,0 +1,10 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ no-pages:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
@@ -0,0 +1,14 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages-all:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages:
12
+ publish: public
13
+ expire_in: 1 hour
14
+ path_prefix: "preview-$CI_COMMIT_REF_SLUG"
@@ -0,0 +1,12 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages-expire_in:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages:
12
+ expire_in: 1 day
@@ -0,0 +1,11 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages-expires_in:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages: {}
@@ -0,0 +1,12 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages-path_prefix:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages:
12
+ path_prefix: "mr-$CI_COMMIT_REF_SLUG"
@@ -0,0 +1,12 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages-publish:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages:
12
+ publish: public
@@ -0,0 +1,11 @@
1
+ #
2
+ # This file is generated by cici-tools with the following command:
3
+ #
4
+ # cici bundle
5
+ #
6
+ pages:
7
+ stage: test
8
+ image: whatever
9
+ script:
10
+ - pass
11
+ pages: false
@@ -53,6 +53,10 @@ def pushd(path):
53
53
  "gitlab",
54
54
  "job-variables",
55
55
  ),
56
+ (
57
+ "gitlab",
58
+ "image",
59
+ ),
56
60
  ],
57
61
  )
58
62
  def test_end_to_end_bundle(platform, name, tmp_path):
@@ -70,7 +74,6 @@ def test_end_to_end_bundle(platform, name, tmp_path):
70
74
  for file in files:
71
75
  shutil.copyfile(fixture_dir / file, test_dir / file)
72
76
  with pushd(test_dir):
73
- print([path.name for path in Path.cwd().glob("*")])
74
77
  cici(["bundle"])
75
78
 
76
79
  for file in files:
@@ -45,13 +45,11 @@ def strip_proxy(image: Optional[str]) -> Optional[str]:
45
45
  container:
46
46
  image: busybox
47
47
  """,
48
- {
49
- "gamma.yaml": """
48
+ {"gamma.yaml": """
50
49
  name: gamma
51
50
  container:
52
51
  image: alpine:latest
53
- """
54
- },
52
+ """},
55
53
  ["theta", "delta", "gamma"],
56
54
  ["old:version", "busybox", "alpine:latest"],
57
55
  ),
@@ -7,7 +7,7 @@ import pytest
7
7
  import ruamel.yaml
8
8
  from ruamel.yaml.scalarstring import FoldedScalarString
9
9
 
10
- from cici.providers.gitlab.yaml_style import make_scalar_string
10
+ from cici.providers.gitlab.yaml_style import make_scalar_string, style_scalars
11
11
 
12
12
 
13
13
  # test the folding when handling string literals
@@ -145,3 +145,98 @@ def test_folded_scalar_does_not_insert_blank_lines(command):
145
145
  # 5. The command must still appear intact
146
146
  for part in command.split():
147
147
  assert part in output
148
+
149
+
150
+ def get_path(obj, path: str):
151
+ """Traverse dict/list using dotted paths and [index] access.
152
+
153
+ Examples:
154
+ - "job.image"
155
+ - "job.rules[0].if"
156
+ - "job.script[1]"
157
+ - "job.variables.GIT_DEPTH"
158
+ """
159
+ cur = obj
160
+ for part in path.split("."):
161
+ if "[" in part:
162
+ # e.g. rules[0]
163
+ key, rest = part.split("[", 1)
164
+ idx = int(rest.rstrip("]"))
165
+ cur = cur[key][idx]
166
+ else:
167
+ cur = cur[part]
168
+ return cur
169
+
170
+
171
+ @pytest.mark.parametrize(
172
+ "input_data, expected_paths",
173
+ [
174
+ pytest.param(
175
+ {
176
+ "job": {
177
+ "image": "alpine:3.19",
178
+ "variables": {
179
+ "GIT_DEPTH": {"value": "1"},
180
+ "TOKEN": {"value": "$TOKEN"},
181
+ "PATHS": {"value": "/certs"},
182
+ },
183
+ "script": [
184
+ 'echo "token" | docker login registry -u user --password-stdin',
185
+ "FOO=bar",
186
+ "echo ok",
187
+ ],
188
+ "rules": [{"if": '$CI_COMMIT_BRANCH == "main"', "when": "always"}],
189
+ "environment": {"name": "$STATE/apply", "action": "stop"},
190
+ }
191
+ },
192
+ {
193
+ "job.image": "alpine:3.19",
194
+ "job.variables.GIT_DEPTH": "1",
195
+ "job.variables.TOKEN": "$TOKEN",
196
+ "job.variables.PATHS": "/certs",
197
+ "job.script[1]": "FOO=bar",
198
+ "job.rules[0].if": '$CI_COMMIT_BRANCH == "main"',
199
+ "job.environment.name": "$STATE/apply",
200
+ "job.environment.action": "stop",
201
+ },
202
+ id="generic-job-case",
203
+ ),
204
+ pytest.param(
205
+ {
206
+ "job": {
207
+ "image": "alpine",
208
+ "script": ["echo hello"],
209
+ }
210
+ },
211
+ {
212
+ "job.image": "alpine",
213
+ "job.script[0]": "echo hello",
214
+ },
215
+ id="minimal-generic-case",
216
+ ),
217
+ ],
218
+ )
219
+ def test_style_scalars(input_data, expected_paths):
220
+
221
+ # send input_data through style_scalars() function
222
+ styled = style_scalars(input_data)
223
+
224
+ # send the now styled input_data through the dump() function
225
+ y = ruamel.yaml.YAML()
226
+ y.width = 120
227
+ y.indent(mapping=2, sequence=4, offset=2)
228
+
229
+ buf = io.StringIO()
230
+ y.dump(styled, buf)
231
+ emitted = buf.getvalue()
232
+
233
+ # parse back the dumped output like GitLab would
234
+ parsed = ruamel.yaml.YAML(typ="safe").load(emitted)
235
+
236
+ # read the nested values and compare to expected
237
+ for path, expected in expected_paths.items():
238
+ assert get_path(parsed, path) == expected, f"path {path!r} mismatched"
239
+
240
+ # just make sure no blank lines in any folded blocks
241
+ # I already test for this in test_folded_scalar_does_not_insert_blank_lines()
242
+ assert "\n\n" not in emitted
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes