cici-tools 0.16.0__tar.gz → 0.17.0__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 (203) hide show
  1. {cici_tools-0.16.0 → cici_tools-0.17.0}/.gitlab-ci.yml +2 -2
  2. {cici_tools-0.16.0 → cici_tools-0.17.0}/.pre-commit-config.yaml +3 -3
  3. {cici_tools-0.16.0/cici_tools.egg-info → cici_tools-0.17.0}/PKG-INFO +1 -1
  4. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/_version.py +3 -3
  5. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/cli/bundle.py +1 -0
  6. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/cli/readme.py +4 -3
  7. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/config/project/serializers.py +1 -0
  8. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/serializers.py +23 -6
  9. {cici_tools-0.16.0 → cici_tools-0.17.0/cici_tools.egg-info}/PKG-INFO +1 -1
  10. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici_tools.egg-info/SOURCES.txt +1 -0
  11. {cici_tools-0.16.0 → cici_tools-0.17.0}/requirements.txt +5 -7
  12. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-apply.yml +2 -0
  13. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-auto-apply.yml +2 -0
  14. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-destroy.yml +2 -0
  15. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-plan.yml +2 -0
  16. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-trivy.yml +2 -0
  17. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-validate.yml +2 -0
  18. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-apply.yml +2 -0
  19. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-auto-apply.yml +2 -0
  20. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-production-destroy.yml +2 -0
  21. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-production-plan.yml +2 -0
  22. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-trivy.yml +2 -0
  23. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-validate.yml +2 -0
  24. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-staging-apply.yml +2 -0
  25. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-auto-apply.yml +2 -0
  26. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-destroy.yml +2 -0
  27. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-plan.yml +2 -0
  28. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-trivy.yml +2 -0
  29. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-staging-validate.yml +2 -0
  30. {cici_tools-0.16.0/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-validate.yml +1 -0
  31. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-apply.yml +2 -0
  32. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-auto-apply.yml +2 -0
  33. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-destroy.yml +2 -0
  34. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-plan.yml +2 -0
  35. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-trivy.yml +2 -0
  36. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-validate.yml +2 -0
  37. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-apply.yml +2 -0
  38. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-auto-apply.yml +2 -0
  39. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-production-destroy.yml +2 -0
  40. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-production-plan.yml +2 -0
  41. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-trivy.yml +2 -0
  42. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-validate.yml +2 -0
  43. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-staging-apply.yml +2 -0
  44. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-auto-apply.yml +2 -0
  45. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-destroy.yml +2 -0
  46. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-plan.yml +2 -0
  47. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-trivy.yml +2 -0
  48. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-staging-validate.yml +2 -0
  49. {cici_tools-0.16.0/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-validate.yml +1 -0
  50. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-production-apply.yml +1 -0
  51. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-production-plan.yml +1 -0
  52. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-staging-apply.yml +1 -0
  53. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-staging-destroy.yml +1 -0
  54. cici_tools-0.17.0/tests/test_expand_job_extends.py +97 -0
  55. {cici_tools-0.16.0 → cici_tools-0.17.0}/.cici/.gitlab-ci.yml +0 -0
  56. {cici_tools-0.16.0 → cici_tools-0.17.0}/.cici/README.md.j2 +0 -0
  57. {cici_tools-0.16.0 → cici_tools-0.17.0}/.cici/config.yaml +0 -0
  58. {cici_tools-0.16.0 → cici_tools-0.17.0}/.dockerignore +0 -0
  59. {cici_tools-0.16.0 → cici_tools-0.17.0}/.gitignore +0 -0
  60. {cici_tools-0.16.0 → cici_tools-0.17.0}/.licenserc.yaml +0 -0
  61. {cici_tools-0.16.0 → cici_tools-0.17.0}/.pre-commit-hooks.yaml +0 -0
  62. {cici_tools-0.16.0 → cici_tools-0.17.0}/.prettierignore +0 -0
  63. {cici_tools-0.16.0 → cici_tools-0.17.0}/.prettierrc.yaml +0 -0
  64. {cici_tools-0.16.0 → cici_tools-0.17.0}/.secrets.baseline +0 -0
  65. {cici_tools-0.16.0 → cici_tools-0.17.0}/Dockerfile +0 -0
  66. {cici_tools-0.16.0 → cici_tools-0.17.0}/LICENSE +0 -0
  67. {cici_tools-0.16.0 → cici_tools-0.17.0}/MANIFEST.in +0 -0
  68. {cici_tools-0.16.0 → cici_tools-0.17.0}/NOTICE +0 -0
  69. {cici_tools-0.16.0 → cici_tools-0.17.0}/README.md +0 -0
  70. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/__init__.py +0 -0
  71. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/__main__.py +0 -0
  72. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/cli/__init__.py +0 -0
  73. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/cli/schema.py +0 -0
  74. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/cli/update.py +0 -0
  75. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/config/__init__.py +0 -0
  76. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/config/project/__init__.py +0 -0
  77. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/config/project/models.py +0 -0
  78. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/config/user.py +0 -0
  79. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/constants.py +0 -0
  80. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/exceptions.py +0 -0
  81. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/main.py +0 -0
  82. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/paths.py +0 -0
  83. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/__init__.py +0 -0
  84. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/__init__.py +0 -0
  85. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/constants.py +0 -0
  86. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/models.py +0 -0
  87. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/normalizers.py +0 -0
  88. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/utils.py +0 -0
  89. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/providers/gitlab/yaml_style.py +0 -0
  90. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/py.typed +0 -0
  91. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/schema/LICENSE.gitlab +0 -0
  92. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/schema/__init__.py +0 -0
  93. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/schema/gitlab-ci.json +0 -0
  94. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/README.md.j2 +0 -0
  95. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/__init__.py +0 -0
  96. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/brief.md.j2 +0 -0
  97. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/description.md.j2 +0 -0
  98. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/group-list.j2 +0 -0
  99. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/groups.md.j2 +0 -0
  100. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/target-list.md.j2 +0 -0
  101. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/target-table.md.j2 +0 -0
  102. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/targets.md.j2 +0 -0
  103. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/variable-list.md.j2 +0 -0
  104. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/templates/variables.md.j2 +0 -0
  105. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici/utils.py +0 -0
  106. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici-bundle.yml +0 -0
  107. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici-readme.yml +0 -0
  108. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici-update.yml +0 -0
  109. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici_tools.egg-info/dependency_links.txt +0 -0
  110. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici_tools.egg-info/entry_points.txt +0 -0
  111. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici_tools.egg-info/requires.txt +0 -0
  112. {cici_tools-0.16.0 → cici_tools-0.17.0}/cici_tools.egg-info/top_level.txt +0 -0
  113. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/bundle.md +0 -0
  114. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/config-file.md +0 -0
  115. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/getting-started.md +0 -0
  116. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/gitlab-includes.md +0 -0
  117. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/index.md +0 -0
  118. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/install.md +0 -0
  119. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/readme.md +0 -0
  120. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/style.css +0 -0
  121. {cici_tools-0.16.0 → cici_tools-0.17.0}/docs/update.md +0 -0
  122. {cici_tools-0.16.0 → cici_tools-0.17.0}/makefile +0 -0
  123. {cici_tools-0.16.0 → cici_tools-0.17.0}/mkdocs.yml +0 -0
  124. {cici_tools-0.16.0 → cici_tools-0.17.0}/pyproject.toml +0 -0
  125. {cici_tools-0.16.0 → cici_tools-0.17.0}/scripts/gen-api-doc.py +0 -0
  126. {cici_tools-0.16.0 → cici_tools-0.17.0}/setup.cfg +0 -0
  127. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/extends/.cici/.gitlab-ci.yml +0 -0
  128. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/extends/simple-job.yml +0 -0
  129. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml +0 -0
  130. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-cm-push.yml +0 -0
  131. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-docs.yml +0 -0
  132. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-lint.yml +0 -0
  133. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/.cici/.gitlab-ci.yml +0 -0
  134. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/.cici/config.yaml +0 -0
  135. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-fmt.yml +0 -0
  136. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-module-build.yml +0 -0
  137. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-module-release.yml +0 -0
  138. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-trivy.yml +0 -0
  139. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/.cici/README.md.j2 +0 -0
  140. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/.cici/config.yaml +0 -0
  141. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/README.md +0 -0
  142. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/list-anchors/.cici/.gitlab-ci.yml +0 -0
  143. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/list-anchors/install.yml +0 -0
  144. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/nested-extends/.cici/.gitlab-ci.yml +0 -0
  145. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/nested-extends/simple-job.yml +0 -0
  146. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/.cici/.gitlab-ci.yml +0 -0
  147. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-container-scanning.yml +0 -0
  148. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-coverage.yml +0 -0
  149. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-junit.yml +0 -0
  150. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-terraform.yml +0 -0
  151. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/.cici/.gitlab-ci.yml +0 -0
  152. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/.cici/config.yaml +0 -0
  153. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-amd64.yml +0 -0
  154. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v6.yml +0 -0
  155. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v7.yml +0 -0
  156. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm64v8.yml +0 -0
  157. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-i386.yml +0 -0
  158. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-manifest.yml +0 -0
  159. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch.yml +0 -0
  160. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker.yml +0 -0
  161. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-hadolint.yml +0 -0
  162. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-trivy.yml +0 -0
  163. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/simple/.cici/.gitlab-ci.yml +0 -0
  164. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/simple/simple-job.yml +0 -0
  165. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/stages/.cici/.gitlab-ci.yml +0 -0
  166. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/stages/simple-job.yml +0 -0
  167. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/.gitlab-ci.yml +0 -0
  168. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/config.yaml +0 -0
  169. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-apply.yaml +0 -0
  170. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-auto-apply.yaml +0 -0
  171. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-destroy.yaml +0 -0
  172. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-plan.yaml +0 -0
  173. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-validate.yaml +0 -0
  174. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-fmt.yaml +0 -0
  175. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-build.yaml +0 -0
  176. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-release.yaml +0 -0
  177. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-apply.yaml +0 -0
  178. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-auto-apply.yaml +0 -0
  179. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-destroy.yaml +0 -0
  180. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-plan.yaml +0 -0
  181. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-trivy.yaml +0 -0
  182. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-validate.yaml +0 -0
  183. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-apply.yaml +0 -0
  184. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-auto-apply.yaml +0 -0
  185. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-destroy.yaml +0 -0
  186. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-plan.yaml +0 -0
  187. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-trivy.yaml +0 -0
  188. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-validate.yaml +0 -0
  189. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-trivy.yaml +0 -0
  190. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-validate.yaml +0 -0
  191. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/tofu-development-trivy.yaml +0 -0
  192. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-fmt.yml +0 -0
  193. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-module-build.yml +0 -0
  194. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-module-release.yml +0 -0
  195. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-trivy.yml +0 -0
  196. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/.cici/.gitlab-ci.yml +0 -0
  197. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-fmt.yml +0 -0
  198. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/variables/.cici/.gitlab-ci.yml +0 -0
  199. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/fixtures/gitlab/variables/simple-job.yml +0 -0
  200. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/test_build.py +0 -0
  201. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/test_cli.py +0 -0
  202. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/test_import.py +0 -0
  203. {cici_tools-0.16.0 → cici_tools-0.17.0}/tests/test_resolve_targets.py +0 -0
@@ -16,7 +16,7 @@ include:
16
16
  - local: cici-bundle.yml
17
17
  - local: cici-update.yml
18
18
  - project: saferatday0/library/container
19
- ref: 0.7.3
19
+ ref: 0.8.1
20
20
  file:
21
21
  - container-docker.yml
22
22
  - container-hadolint.yml
@@ -29,7 +29,7 @@ include:
29
29
  file:
30
30
  - gitlab-release.yml
31
31
  - project: saferatday0/library/mkdocs
32
- ref: 0.6.1
32
+ ref: 0.6.2
33
33
  file:
34
34
  - mkdocs-build.yml
35
35
  - project: saferatday0/library/pages
@@ -30,7 +30,7 @@ repos:
30
30
  ]
31
31
 
32
32
  - repo: https://gitlab.com/saferatday0/library/container
33
- rev: "0.7.3"
33
+ rev: "0.8.1"
34
34
  hooks:
35
35
  - id: container-hadolint
36
36
 
@@ -72,8 +72,8 @@ repos:
72
72
  pass_filenames: false
73
73
  always_run: true
74
74
 
75
- - repo: https://gitlab.com/saferatday0/library/skywalking-eyes
76
- rev: "0.8.3"
75
+ - repo: https://gitlab.com/saferatday0/library/license-eye
76
+ rev: "0.9.0"
77
77
  hooks:
78
78
  - id: license-eye-header-fix
79
79
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cici-tools
3
- Version: 0.16.0
3
+ Version: 0.17.0
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.16.0'
32
- __version_tuple__ = version_tuple = (0, 16, 0)
31
+ __version__ = version = '0.17.0'
32
+ __version_tuple__ = version_tuple = (0, 17, 0)
33
33
 
34
- __commit_id__ = commit_id = 'gc5321d184'
34
+ __commit_id__ = commit_id = 'ge723e80c8'
@@ -64,6 +64,7 @@ def load_cici_or_nothing(base_path: Path) -> Optional[cici_config.File]:
64
64
 
65
65
 
66
66
  def bundle_command(parser, args):
67
+
67
68
  logging.basicConfig(level=logging.INFO, format="[%(levelname)s] %(message)s")
68
69
 
69
70
  provider = import_module(f".{DEFAULT_PROVIDER}", "cici.providers")
@@ -14,8 +14,9 @@ from ..constants import TEMPLATE_DIR
14
14
  from ..paths import (
15
15
  get_cici_config_file_path,
16
16
  get_cici_config_gitlab_ci_file_path,
17
- get_cici_config_readme_template_path,
17
+ get_cici_config_path,
18
18
  get_pre_commit_hooks_path,
19
+ get_readme_path,
19
20
  )
20
21
  from ..providers.gitlab.utils import get_job_names
21
22
 
@@ -49,7 +50,7 @@ def readme_command(parser, args):
49
50
  environment = Environment(
50
51
  loader=FileSystemLoader(
51
52
  [
52
- get_cici_config_file_path(),
53
+ get_cici_config_path(),
53
54
  TEMPLATE_DIR,
54
55
  ]
55
56
  ),
@@ -80,7 +81,7 @@ def readme_parser(subparsers):
80
81
  "-o",
81
82
  "--output",
82
83
  dest="output_file",
83
- default=get_cici_config_readme_template_path(),
84
+ default=get_readme_path(),
84
85
  )
85
86
  parser.add_argument(
86
87
  "-c",
@@ -142,6 +142,7 @@ def loads(
142
142
  precommit_hooks = {}
143
143
 
144
144
  yaml = ruamel.yaml.YAML(typ="safe")
145
+
145
146
  data = yaml.load(text)
146
147
 
147
148
  # verify targets exists even if empty
@@ -43,7 +43,12 @@ def to_dict(obj):
43
43
  return msgspec.json.decode(encoded)
44
44
 
45
45
 
46
- def expand_job_extends(jobs: dict[str, gitlab.Job], job: gitlab.Job) -> gitlab.Job:
46
+ def expand_job_extends(
47
+ jobs: dict[str, gitlab.Job],
48
+ job: gitlab.Job,
49
+ root_name: str,
50
+ ) -> gitlab.Job:
51
+
47
52
  # If the job does not use 'extends', return it unchanged
48
53
  if not job.extends:
49
54
  return job
@@ -58,11 +63,20 @@ def expand_job_extends(jobs: dict[str, gitlab.Job], job: gitlab.Job) -> gitlab.J
58
63
  # for each parent job listed in extends:
59
64
  for extend in extends:
60
65
  # recursively expand the parent first so fit the parent also has 'extends' it gets resolved too
61
- parent_job = expand_job_extends(jobs, jobs[extend])
66
+ parent_job = expand_job_extends(jobs, jobs[extend], root_name=root_name)
62
67
  # convert expanded parent struct into plain dict to easily merge its fields
63
68
  parent_dict = to_dict(parent_job)
64
- # Add parent fields to accumulator (later parents should override earlier ones if conflicts)
65
- merged.update(parent_dict)
69
+
70
+ # Replace merged.update with block to preserve variables from ALL parents
71
+ for field_name, parent_value in parent_dict.items():
72
+ existing_value = merged.get(field_name)
73
+
74
+ if isinstance(parent_value, dict) and isinstance(existing_value, dict):
75
+ # deep merge dict fields (ie variables) so later, parents
76
+ # override keys without wiping earlier ones
77
+ merged[field_name] = {**existing_value, **parent_value}
78
+ else:
79
+ merged[field_name] = parent_value
66
80
 
67
81
  # convert child job into a dict
68
82
  child_dict = to_dict(job)
@@ -89,8 +103,9 @@ def expand_job_extends(jobs: dict[str, gitlab.Job], job: gitlab.Job) -> gitlab.J
89
103
  def expand_jobs(file_struct: gitlab.File) -> gitlab.File:
90
104
  patched_jobs = {}
91
105
  for job_name, job in file_struct.jobs.items():
92
- expanded_job = expand_job_extends(file_struct.jobs, job)
106
+ expanded_job = expand_job_extends(file_struct.jobs, job, root_name=job_name)
93
107
  patched_jobs[job_name] = expanded_job
108
+
94
109
  return replace(file_struct, jobs=patched_jobs)
95
110
 
96
111
 
@@ -278,7 +293,9 @@ def loads(
278
293
  file_struct = expand_jobs(file_struct)
279
294
 
280
295
  # inject container defaults
281
- return inject_container_into_job(file_struct, cici_config_file)
296
+ file_struct = inject_container_into_job(file_struct, cici_config_file)
297
+
298
+ return file_struct
282
299
 
283
300
 
284
301
  # convert struct back to dict, apply container injection + YAML dump
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cici-tools
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: Continuous Integration Catalog Interface
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
@@ -81,6 +81,7 @@ docs/update.md
81
81
  scripts/gen-api-doc.py
82
82
  tests/test_build.py
83
83
  tests/test_cli.py
84
+ tests/test_expand_job_extends.py
84
85
  tests/test_import.py
85
86
  tests/test_resolve_targets.py
86
87
  tests/fixtures/gitlab/extends/simple-job.yml
@@ -12,11 +12,11 @@ jsonschema==4.25.1
12
12
  # via cici-tools (pyproject.toml)
13
13
  jsonschema-specifications==2025.9.1
14
14
  # via jsonschema
15
- markdown==3.9
15
+ markdown==3.10
16
16
  # via cici-tools (pyproject.toml)
17
17
  markupsafe==3.0.3
18
18
  # via jinja2
19
- msgspec==0.19.0
19
+ msgspec==0.20.0
20
20
  # via cici-tools (pyproject.toml)
21
21
  python-decouple==3.8
22
22
  # via cici-tools (pyproject.toml)
@@ -24,15 +24,13 @@ referencing==0.37.0
24
24
  # via
25
25
  # jsonschema
26
26
  # jsonschema-specifications
27
- rpds-py==0.28.0
27
+ rpds-py==0.30.0
28
28
  # via
29
29
  # jsonschema
30
30
  # referencing
31
- ruamel-yaml==0.18.16
31
+ ruamel-yaml==0.19.1
32
32
  # via cici-tools (pyproject.toml)
33
- ruamel-yaml-clib==0.2.14
34
- # via ruamel-yaml
35
- termcolor==3.2.0
33
+ termcolor==3.3.0
36
34
  # via cici-tools (pyproject.toml)
37
35
  typing-extensions==4.15.0
38
36
  # via referencing
@@ -32,6 +32,8 @@ opentofu-development-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,7 @@ opentofu-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}"
35
36
  GIT_DEPTH: "1"
36
37
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
38
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-development-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: development
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-production-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: production
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-auto-apply:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-destroy:
32
32
  stage: deploy
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-plan:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-trivy:
32
32
  stage: build
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,8 @@ opentofu-staging-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}/deploy/${OPENTOFU_STATE_NAME}"
36
+ OPENTOFU_STATE_NAME: staging
35
37
  GIT_DEPTH: "1"
36
38
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
39
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -32,6 +32,7 @@ opentofu-validate:
32
32
  stage: test
33
33
  image: "registry.gitlab.com/components/opentofu/gitlab-opentofu:latest"
34
34
  variables:
35
+ OPENTOFU_ROOT: "${CI_PROJECT_DIR}"
35
36
  GIT_DEPTH: "1"
36
37
  TF_STATE_NAME: "$OPENTOFU_STATE_NAME"
37
38
  TF_ROOT: "$OPENTOFU_ROOT"
@@ -21,6 +21,7 @@ terraform-production-apply:
21
21
  stage: deploy
22
22
  image: "registry.gitlab.com/gitlab-org/terraform-images/stable:latest"
23
23
  variables:
24
+ TERRAFORM_STATE_NAME: production
24
25
  GIT_DEPTH: "1"
25
26
  TF_STATE_NAME: "$TERRAFORM_STATE_NAME"
26
27
  TF_ROOT: "$TERRAFORM_ROOT"
@@ -21,6 +21,7 @@ terraform-production-plan:
21
21
  stage: test
22
22
  image: "registry.gitlab.com/gitlab-org/terraform-images/stable:latest"
23
23
  variables:
24
+ TERRAFORM_STATE_NAME: production
24
25
  GIT_DEPTH: "1"
25
26
  TF_STATE_NAME: "$TERRAFORM_STATE_NAME"
26
27
  TF_ROOT: "$TERRAFORM_ROOT"
@@ -21,6 +21,7 @@ terraform-staging-apply:
21
21
  stage: test
22
22
  image: "registry.gitlab.com/gitlab-org/terraform-images/stable:latest"
23
23
  variables:
24
+ TERRAFORM_STATE_NAME: staging
24
25
  GIT_DEPTH: "1"
25
26
  TF_STATE_NAME: "$TERRAFORM_STATE_NAME"
26
27
  TF_ROOT: "$TERRAFORM_ROOT"