cici-tools 0.16.1__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.1/cici_tools.egg-info → cici_tools-0.17.0}/PKG-INFO +1 -1
  2. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/_version.py +3 -3
  3. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/cli/bundle.py +1 -0
  4. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/config/project/serializers.py +1 -0
  5. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/serializers.py +23 -6
  6. {cici_tools-0.16.1 → cici_tools-0.17.0/cici_tools.egg-info}/PKG-INFO +1 -1
  7. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici_tools.egg-info/SOURCES.txt +1 -0
  8. {cici_tools-0.16.1 → cici_tools-0.17.0}/requirements.txt +1 -3
  9. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-apply.yml +2 -0
  10. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-auto-apply.yml +2 -0
  11. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-destroy.yml +2 -0
  12. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-plan.yml +2 -0
  13. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-development-trivy.yml +2 -0
  14. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-development-validate.yml +2 -0
  15. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-apply.yml +2 -0
  16. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-auto-apply.yml +2 -0
  17. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-production-destroy.yml +2 -0
  18. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-production-plan.yml +2 -0
  19. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-trivy.yml +2 -0
  20. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-production-validate.yml +2 -0
  21. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-staging-apply.yml +2 -0
  22. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-auto-apply.yml +2 -0
  23. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-destroy.yml +2 -0
  24. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-plan.yml +2 -0
  25. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-staging-trivy.yml +2 -0
  26. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-staging-validate.yml +2 -0
  27. {cici_tools-0.16.1/tests/fixtures/gitlab/targets-dir → cici_tools-0.17.0/tests/fixtures/gitlab/job-variables}/opentofu-validate.yml +1 -0
  28. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-apply.yml +2 -0
  29. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-auto-apply.yml +2 -0
  30. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-destroy.yml +2 -0
  31. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-plan.yml +2 -0
  32. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-development-trivy.yml +2 -0
  33. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-development-validate.yml +2 -0
  34. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-apply.yml +2 -0
  35. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-auto-apply.yml +2 -0
  36. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-production-destroy.yml +2 -0
  37. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-production-plan.yml +2 -0
  38. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-trivy.yml +2 -0
  39. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-production-validate.yml +2 -0
  40. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-staging-apply.yml +2 -0
  41. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-auto-apply.yml +2 -0
  42. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-destroy.yml +2 -0
  43. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-plan.yml +2 -0
  44. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-staging-trivy.yml +2 -0
  45. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-staging-validate.yml +2 -0
  46. {cici_tools-0.16.1/tests/fixtures/gitlab/job-variables → cici_tools-0.17.0/tests/fixtures/gitlab/targets-dir}/opentofu-validate.yml +1 -0
  47. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-production-apply.yml +1 -0
  48. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-production-plan.yml +1 -0
  49. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-staging-apply.yml +1 -0
  50. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-staging-destroy.yml +1 -0
  51. cici_tools-0.17.0/tests/test_expand_job_extends.py +97 -0
  52. {cici_tools-0.16.1 → cici_tools-0.17.0}/.cici/.gitlab-ci.yml +0 -0
  53. {cici_tools-0.16.1 → cici_tools-0.17.0}/.cici/README.md.j2 +0 -0
  54. {cici_tools-0.16.1 → cici_tools-0.17.0}/.cici/config.yaml +0 -0
  55. {cici_tools-0.16.1 → cici_tools-0.17.0}/.dockerignore +0 -0
  56. {cici_tools-0.16.1 → cici_tools-0.17.0}/.gitignore +0 -0
  57. {cici_tools-0.16.1 → cici_tools-0.17.0}/.gitlab-ci.yml +0 -0
  58. {cici_tools-0.16.1 → cici_tools-0.17.0}/.licenserc.yaml +0 -0
  59. {cici_tools-0.16.1 → cici_tools-0.17.0}/.pre-commit-config.yaml +0 -0
  60. {cici_tools-0.16.1 → cici_tools-0.17.0}/.pre-commit-hooks.yaml +0 -0
  61. {cici_tools-0.16.1 → cici_tools-0.17.0}/.prettierignore +0 -0
  62. {cici_tools-0.16.1 → cici_tools-0.17.0}/.prettierrc.yaml +0 -0
  63. {cici_tools-0.16.1 → cici_tools-0.17.0}/.secrets.baseline +0 -0
  64. {cici_tools-0.16.1 → cici_tools-0.17.0}/Dockerfile +0 -0
  65. {cici_tools-0.16.1 → cici_tools-0.17.0}/LICENSE +0 -0
  66. {cici_tools-0.16.1 → cici_tools-0.17.0}/MANIFEST.in +0 -0
  67. {cici_tools-0.16.1 → cici_tools-0.17.0}/NOTICE +0 -0
  68. {cici_tools-0.16.1 → cici_tools-0.17.0}/README.md +0 -0
  69. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/__init__.py +0 -0
  70. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/__main__.py +0 -0
  71. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/cli/__init__.py +0 -0
  72. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/cli/readme.py +0 -0
  73. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/cli/schema.py +0 -0
  74. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/cli/update.py +0 -0
  75. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/config/__init__.py +0 -0
  76. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/config/project/__init__.py +0 -0
  77. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/config/project/models.py +0 -0
  78. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/config/user.py +0 -0
  79. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/constants.py +0 -0
  80. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/exceptions.py +0 -0
  81. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/main.py +0 -0
  82. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/paths.py +0 -0
  83. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/__init__.py +0 -0
  84. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/__init__.py +0 -0
  85. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/constants.py +0 -0
  86. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/models.py +0 -0
  87. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/normalizers.py +0 -0
  88. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/utils.py +0 -0
  89. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/providers/gitlab/yaml_style.py +0 -0
  90. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/py.typed +0 -0
  91. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/schema/LICENSE.gitlab +0 -0
  92. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/schema/__init__.py +0 -0
  93. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/schema/gitlab-ci.json +0 -0
  94. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/README.md.j2 +0 -0
  95. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/__init__.py +0 -0
  96. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/brief.md.j2 +0 -0
  97. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/description.md.j2 +0 -0
  98. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/group-list.j2 +0 -0
  99. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/groups.md.j2 +0 -0
  100. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/target-list.md.j2 +0 -0
  101. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/target-table.md.j2 +0 -0
  102. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/targets.md.j2 +0 -0
  103. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/variable-list.md.j2 +0 -0
  104. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/templates/variables.md.j2 +0 -0
  105. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici/utils.py +0 -0
  106. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici-bundle.yml +0 -0
  107. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici-readme.yml +0 -0
  108. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici-update.yml +0 -0
  109. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici_tools.egg-info/dependency_links.txt +0 -0
  110. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici_tools.egg-info/entry_points.txt +0 -0
  111. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici_tools.egg-info/requires.txt +0 -0
  112. {cici_tools-0.16.1 → cici_tools-0.17.0}/cici_tools.egg-info/top_level.txt +0 -0
  113. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/bundle.md +0 -0
  114. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/config-file.md +0 -0
  115. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/getting-started.md +0 -0
  116. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/gitlab-includes.md +0 -0
  117. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/index.md +0 -0
  118. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/install.md +0 -0
  119. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/readme.md +0 -0
  120. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/style.css +0 -0
  121. {cici_tools-0.16.1 → cici_tools-0.17.0}/docs/update.md +0 -0
  122. {cici_tools-0.16.1 → cici_tools-0.17.0}/makefile +0 -0
  123. {cici_tools-0.16.1 → cici_tools-0.17.0}/mkdocs.yml +0 -0
  124. {cici_tools-0.16.1 → cici_tools-0.17.0}/pyproject.toml +0 -0
  125. {cici_tools-0.16.1 → cici_tools-0.17.0}/scripts/gen-api-doc.py +0 -0
  126. {cici_tools-0.16.1 → cici_tools-0.17.0}/setup.cfg +0 -0
  127. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/extends/.cici/.gitlab-ci.yml +0 -0
  128. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/extends/simple-job.yml +0 -0
  129. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/.cici/.gitlab-ci.yml +0 -0
  130. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-cm-push.yml +0 -0
  131. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-docs.yml +0 -0
  132. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/helm/helm-lint.yml +0 -0
  133. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/.cici/.gitlab-ci.yml +0 -0
  134. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/.cici/config.yaml +0 -0
  135. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-fmt.yml +0 -0
  136. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-module-build.yml +0 -0
  137. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-module-release.yml +0 -0
  138. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/job-variables/opentofu-trivy.yml +0 -0
  139. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/.cici/README.md.j2 +0 -0
  140. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/.cici/config.yaml +0 -0
  141. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/library-validator/README.md +0 -0
  142. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/list-anchors/.cici/.gitlab-ci.yml +0 -0
  143. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/list-anchors/install.yml +0 -0
  144. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/nested-extends/.cici/.gitlab-ci.yml +0 -0
  145. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/nested-extends/simple-job.yml +0 -0
  146. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/.cici/.gitlab-ci.yml +0 -0
  147. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-container-scanning.yml +0 -0
  148. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-coverage.yml +0 -0
  149. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-junit.yml +0 -0
  150. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/reports/reports-terraform.yml +0 -0
  151. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/.cici/.gitlab-ci.yml +0 -0
  152. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/.cici/config.yaml +0 -0
  153. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-amd64.yml +0 -0
  154. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v6.yml +0 -0
  155. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm32v7.yml +0 -0
  156. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-arm64v8.yml +0 -0
  157. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-i386.yml +0 -0
  158. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch-manifest.yml +0 -0
  159. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker-multiarch.yml +0 -0
  160. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-docker.yml +0 -0
  161. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-hadolint.yml +0 -0
  162. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/service-key/container-trivy.yml +0 -0
  163. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/simple/.cici/.gitlab-ci.yml +0 -0
  164. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/simple/simple-job.yml +0 -0
  165. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/stages/.cici/.gitlab-ci.yml +0 -0
  166. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/stages/simple-job.yml +0 -0
  167. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/.gitlab-ci.yml +0 -0
  168. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/config.yaml +0 -0
  169. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-apply.yaml +0 -0
  170. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-auto-apply.yaml +0 -0
  171. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-destroy.yaml +0 -0
  172. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-plan.yaml +0 -0
  173. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-development-validate.yaml +0 -0
  174. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-fmt.yaml +0 -0
  175. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-build.yaml +0 -0
  176. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-module-release.yaml +0 -0
  177. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-apply.yaml +0 -0
  178. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-auto-apply.yaml +0 -0
  179. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-destroy.yaml +0 -0
  180. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-plan.yaml +0 -0
  181. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-trivy.yaml +0 -0
  182. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-production-validate.yaml +0 -0
  183. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-apply.yaml +0 -0
  184. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-auto-apply.yaml +0 -0
  185. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-destroy.yaml +0 -0
  186. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-plan.yaml +0 -0
  187. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-trivy.yaml +0 -0
  188. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-staging-validate.yaml +0 -0
  189. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-trivy.yaml +0 -0
  190. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/opentofu-validate.yaml +0 -0
  191. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/.cici/targets/tofu-development-trivy.yaml +0 -0
  192. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-fmt.yml +0 -0
  193. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-module-build.yml +0 -0
  194. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-module-release.yml +0 -0
  195. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/targets-dir/opentofu-trivy.yml +0 -0
  196. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/.cici/.gitlab-ci.yml +0 -0
  197. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/terraform/terraform-fmt.yml +0 -0
  198. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/variables/.cici/.gitlab-ci.yml +0 -0
  199. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/fixtures/gitlab/variables/simple-job.yml +0 -0
  200. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/test_build.py +0 -0
  201. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/test_cli.py +0 -0
  202. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/test_import.py +0 -0
  203. {cici_tools-0.16.1 → cici_tools-0.17.0}/tests/test_resolve_targets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cici-tools
3
- Version: 0.16.1
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.1'
32
- __version_tuple__ = version_tuple = (0, 16, 1)
31
+ __version__ = version = '0.17.0'
32
+ __version_tuple__ = version_tuple = (0, 17, 0)
33
33
 
34
- __commit_id__ = commit_id = 'gcf94f688a'
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")
@@ -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.1
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
@@ -28,10 +28,8 @@ rpds-py==0.30.0
28
28
  # via
29
29
  # jsonschema
30
30
  # referencing
31
- ruamel-yaml==0.18.17
31
+ ruamel-yaml==0.19.1
32
32
  # via cici-tools (pyproject.toml)
33
- ruamel-yaml-clib==0.2.15
34
- # via ruamel-yaml
35
33
  termcolor==3.3.0
36
34
  # via cici-tools (pyproject.toml)
37
35
  typing-extensions==4.15.0
@@ -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"
@@ -21,6 +21,7 @@ terraform-staging-destroy:
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"