gitlabform 5.0.1__tar.gz → 5.1.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 (85) hide show
  1. {gitlabform-5.0.1 → gitlabform-5.1.0}/PKG-INFO +7 -7
  2. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/core.py +5 -0
  3. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_hooks_processor.py +14 -3
  4. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/branches_processor.py +3 -3
  5. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/PKG-INFO +7 -7
  6. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/requires.txt +6 -6
  7. {gitlabform-5.0.1 → gitlabform-5.1.0}/pyproject.toml +7 -7
  8. {gitlabform-5.0.1 → gitlabform-5.1.0}/LICENSE +0 -0
  9. {gitlabform-5.0.1 → gitlabform-5.1.0}/README.md +0 -0
  10. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/__init__.py +0 -0
  11. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/__init__.py +0 -0
  12. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/common.py +0 -0
  13. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/core.py +0 -0
  14. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/groups.py +0 -0
  15. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/projects.py +0 -0
  16. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/configuration/transform.py +0 -0
  17. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/constants.py +0 -0
  18. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/__init__.py +0 -0
  19. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/commits.py +0 -0
  20. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/group_badges.py +0 -0
  21. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/group_ldap_links.py +0 -0
  22. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/groups.py +0 -0
  23. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/merge_requests.py +0 -0
  24. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/pipelines.py +0 -0
  25. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/project_badges.py +0 -0
  26. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/project_deploy_keys.py +0 -0
  27. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/project_merge_requests_approvals.py +0 -0
  28. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/project_protected_environments.py +0 -0
  29. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/projects.py +0 -0
  30. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/python_gitlab.py +0 -0
  31. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/gitlab/variables.py +0 -0
  32. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/lists/__init__.py +0 -0
  33. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/lists/filter.py +0 -0
  34. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/lists/groups.py +0 -0
  35. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/lists/projects.py +0 -0
  36. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/output.py +0 -0
  37. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/__init__.py +0 -0
  38. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/abstract_processor.py +0 -0
  39. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/application/__init__.py +0 -0
  40. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/application/application_settings_processor.py +0 -0
  41. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/defining_keys.py +0 -0
  42. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/__init__.py +0 -0
  43. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_badges_processor.py +0 -0
  44. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_labels_processor.py +0 -0
  45. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_ldap_links_processor.py +0 -0
  46. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_members_processor.py +0 -0
  47. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_push_rules_processor.py +0 -0
  48. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_saml_links_processor.py +0 -0
  49. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_settings_processor.py +0 -0
  50. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/group/group_variables_processor.py +0 -0
  51. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/multiple_entities_processor.py +0 -0
  52. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/__init__.py +0 -0
  53. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/badges_processor.py +0 -0
  54. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/deploy_keys_processor.py +0 -0
  55. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/files_processor.py +0 -0
  56. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/hooks_processor.py +0 -0
  57. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/integrations_processor.py +0 -0
  58. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/job_token_scope_processor.py +0 -0
  59. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/members_processor.py +0 -0
  60. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/merge_requests_approval_rules.py +0 -0
  61. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/merge_requests_approvals.py +0 -0
  62. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_labels_processor.py +0 -0
  63. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_processor.py +0 -0
  64. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_push_rules_processor.py +0 -0
  65. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_security_settings.py +0 -0
  66. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_settings_processor.py +0 -0
  67. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/project_variables_processor.py +0 -0
  68. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/remote_mirrors_processor.py +0 -0
  69. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/resource_groups_processor.py +0 -0
  70. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/schedules_processor.py +0 -0
  71. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/project/tags_processor.py +0 -0
  72. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/shared/__init__.py +0 -0
  73. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/shared/protected_environments_processor.py +0 -0
  74. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/util/__init__.py +0 -0
  75. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/util/decorators.py +0 -0
  76. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/util/difference_logger.py +0 -0
  77. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/util/labels_processor.py +0 -0
  78. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/processors/util/variables_processor.py +0 -0
  79. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/run.py +0 -0
  80. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform/util.py +0 -0
  81. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/SOURCES.txt +0 -0
  82. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/dependency_links.txt +0 -0
  83. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/entry_points.txt +0 -0
  84. {gitlabform-5.0.1 → gitlabform-5.1.0}/gitlabform.egg-info/top_level.txt +0 -0
  85. {gitlabform-5.0.1 → gitlabform-5.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlabform
3
- Version: 5.0.1
3
+ Version: 5.1.0
4
4
  Summary: 🏗 Specialized configuration as a code tool for GitLab projects, groups and more using hierarchical configuration written in YAML
5
5
  Author: Greg Dubicki and Contributors
6
6
  Project-URL: Homepage, https://gitlabform.github.io/gitlabform/
@@ -28,22 +28,22 @@ Requires-Dist: luddite==1.0.4
28
28
  Requires-Dist: MarkupSafe==3.0.3
29
29
  Requires-Dist: mergedeep==1.3.4
30
30
  Requires-Dist: packaging==26.0
31
- Requires-Dist: python-gitlab==8.1.0
32
- Requires-Dist: python-gitlab[graphql]==8.1.0
33
- Requires-Dist: requests==2.32.5
31
+ Requires-Dist: python-gitlab==8.2.0
32
+ Requires-Dist: python-gitlab[graphql]==8.2.0
33
+ Requires-Dist: requests==2.33.0
34
34
  Requires-Dist: ruamel.yaml==0.17.21
35
35
  Requires-Dist: yamlpath==3.8.2
36
36
  Provides-Extra: test
37
37
  Requires-Dist: coverage==7.13.5; extra == "test"
38
- Requires-Dist: cryptography==46.0.5; extra == "test"
39
- Requires-Dist: deepdiff==8.6.2; extra == "test"
38
+ Requires-Dist: cryptography==46.0.6; extra == "test"
39
+ Requires-Dist: deepdiff==9.0.0; extra == "test"
40
40
  Requires-Dist: mypy==1.19.1; extra == "test"
41
41
  Requires-Dist: mypy-extensions==1.1.0; extra == "test"
42
42
  Requires-Dist: pre-commit==2.21.0; extra == "test"
43
43
  Requires-Dist: pytest==9.0.2; extra == "test"
44
44
  Requires-Dist: pytest-cov==7.1.0; extra == "test"
45
45
  Requires-Dist: pytest-rerunfailures==16.1; extra == "test"
46
- Requires-Dist: types-requests==2.32.4.20260107; extra == "test"
46
+ Requires-Dist: types-requests==2.33.0.20260327; extra == "test"
47
47
  Requires-Dist: types-setuptools==82.0.0.20260210; extra == "test"
48
48
  Requires-Dist: xkcdpass==1.30.0; extra == "test"
49
49
  Provides-Extra: docs
@@ -79,6 +79,11 @@ class GitLabCore:
79
79
  self.version = version_response["version"]
80
80
  self.enterprise = version_response["enterprise"]
81
81
 
82
+ if self.is_version_less_than("16"):
83
+ warning(
84
+ f"Support for GitLab version {self.version} is Deprecated. See Requirements: https://gitlabform.github.io/gitlabform/requirements/"
85
+ )
86
+
82
87
  current_user = self._make_requests_to_api("user")
83
88
  if current_user.get("is_admin", False):
84
89
  self.admin = True
@@ -1,4 +1,4 @@
1
- from logging import debug
1
+ from logging import debug, warning
2
2
  from typing import Dict, Any, List
3
3
 
4
4
  from gitlab.base import RESTObject, RESTObjectList
@@ -13,13 +13,24 @@ class GroupHooksProcessor(AbstractProcessor):
13
13
  def __init__(self, gitlab: GitLab):
14
14
  super().__init__("group_hooks", gitlab)
15
15
 
16
+ def _can_proceed(self, project_or_group: str, configuration: dict):
17
+ if not self.gitlab.enterprise:
18
+ hooks_in_config = configuration["group_hooks"]
19
+ if hooks_in_config is not None and len(hooks_in_config) > 0:
20
+ # Only raise error if user has defined hooks in config, otherwise exit silently out of processor
21
+ warning("GitLab Community Edition does not support Group Webhooks")
22
+
23
+ return False
24
+
25
+ return True
26
+
16
27
  def _process_configuration(self, group_path_and_name: str, configuration: dict):
28
+ hooks_in_config: tuple[str, ...] = tuple(x for x in sorted(configuration["group_hooks"]) if x != "enforce")
29
+
17
30
  debug("Processing group hooks...")
18
31
  group: Group = self.gl.get_group_by_path_cached(group_path_and_name)
19
32
  group_hooks: list[GroupHook] = group.hooks.list(get_all=True)
20
33
 
21
- hooks_in_config: tuple[str, ...] = tuple(x for x in sorted(configuration["group_hooks"]) if x != "enforce")
22
-
23
34
  for hook in hooks_in_config:
24
35
  hook_in_gitlab: RESTObject | None = next((h for h in group_hooks if h.url == hook), None)
25
36
  hook_config = {"url": hook}
@@ -76,7 +76,7 @@ class BranchesProcessor(AbstractProcessor):
76
76
 
77
77
  if branch_config.get("protected"):
78
78
  if not protected_branch:
79
- info(f"Creating branch protection for {branch_name}")
79
+ verbose(f"Creating branch protection for {branch_name}")
80
80
  self.protect_branch(project, branch_name, branch_config, False)
81
81
  return
82
82
 
@@ -145,11 +145,11 @@ class BranchesProcessor(AbstractProcessor):
145
145
 
146
146
  if protected_branch_api_patch_data != {}:
147
147
  # We have some updates to make
148
- info(f"Updating protected branch {branch_name} with {protected_branch_api_patch_data}")
148
+ verbose(f"Updating protected branch {branch_name} with {protected_branch_api_patch_data}")
149
149
  self.protect_branch(project, branch_name, protected_branch_api_patch_data, True)
150
150
 
151
151
  elif protected_branch and not branch_config.get("protected"):
152
- info(f"Removing branch protection for {branch_name}")
152
+ verbose(f"Removing branch protection for {branch_name}")
153
153
  self.unprotect_branch(protected_branch)
154
154
 
155
155
  def process_branch_config_gitlab_under_15_6_0_or_ce(self, branch_config, branch_name, project, protected_branch):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlabform
3
- Version: 5.0.1
3
+ Version: 5.1.0
4
4
  Summary: 🏗 Specialized configuration as a code tool for GitLab projects, groups and more using hierarchical configuration written in YAML
5
5
  Author: Greg Dubicki and Contributors
6
6
  Project-URL: Homepage, https://gitlabform.github.io/gitlabform/
@@ -28,22 +28,22 @@ Requires-Dist: luddite==1.0.4
28
28
  Requires-Dist: MarkupSafe==3.0.3
29
29
  Requires-Dist: mergedeep==1.3.4
30
30
  Requires-Dist: packaging==26.0
31
- Requires-Dist: python-gitlab==8.1.0
32
- Requires-Dist: python-gitlab[graphql]==8.1.0
33
- Requires-Dist: requests==2.32.5
31
+ Requires-Dist: python-gitlab==8.2.0
32
+ Requires-Dist: python-gitlab[graphql]==8.2.0
33
+ Requires-Dist: requests==2.33.0
34
34
  Requires-Dist: ruamel.yaml==0.17.21
35
35
  Requires-Dist: yamlpath==3.8.2
36
36
  Provides-Extra: test
37
37
  Requires-Dist: coverage==7.13.5; extra == "test"
38
- Requires-Dist: cryptography==46.0.5; extra == "test"
39
- Requires-Dist: deepdiff==8.6.2; extra == "test"
38
+ Requires-Dist: cryptography==46.0.6; extra == "test"
39
+ Requires-Dist: deepdiff==9.0.0; extra == "test"
40
40
  Requires-Dist: mypy==1.19.1; extra == "test"
41
41
  Requires-Dist: mypy-extensions==1.1.0; extra == "test"
42
42
  Requires-Dist: pre-commit==2.21.0; extra == "test"
43
43
  Requires-Dist: pytest==9.0.2; extra == "test"
44
44
  Requires-Dist: pytest-cov==7.1.0; extra == "test"
45
45
  Requires-Dist: pytest-rerunfailures==16.1; extra == "test"
46
- Requires-Dist: types-requests==2.32.4.20260107; extra == "test"
46
+ Requires-Dist: types-requests==2.33.0.20260327; extra == "test"
47
47
  Requires-Dist: types-setuptools==82.0.0.20260210; extra == "test"
48
48
  Requires-Dist: xkcdpass==1.30.0; extra == "test"
49
49
  Provides-Extra: docs
@@ -6,9 +6,9 @@ luddite==1.0.4
6
6
  MarkupSafe==3.0.3
7
7
  mergedeep==1.3.4
8
8
  packaging==26.0
9
- python-gitlab==8.1.0
10
- python-gitlab[graphql]==8.1.0
11
- requests==2.32.5
9
+ python-gitlab==8.2.0
10
+ python-gitlab[graphql]==8.2.0
11
+ requests==2.33.0
12
12
  ruamel.yaml==0.17.21
13
13
  yamlpath==3.8.2
14
14
 
@@ -18,14 +18,14 @@ mkdocs-material
18
18
 
19
19
  [test]
20
20
  coverage==7.13.5
21
- cryptography==46.0.5
22
- deepdiff==8.6.2
21
+ cryptography==46.0.6
22
+ deepdiff==9.0.0
23
23
  mypy==1.19.1
24
24
  mypy-extensions==1.1.0
25
25
  pre-commit==2.21.0
26
26
  pytest==9.0.2
27
27
  pytest-cov==7.1.0
28
28
  pytest-rerunfailures==16.1
29
- types-requests==2.32.4.20260107
29
+ types-requests==2.33.0.20260327
30
30
  types-setuptools==82.0.0.20260210
31
31
  xkcdpass==1.30.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitlabform"
7
- version = "5.0.1"
7
+ version = "5.1.0"
8
8
  authors = [{ name = "Greg Dubicki and Contributors" }]
9
9
  description = "🏗 Specialized configuration as a code tool for GitLab projects, groups and more using hierarchical configuration written in YAML"
10
10
  keywords = ["cli", "yaml", "gitlab", "configuration-as-code"]
@@ -31,9 +31,9 @@ dependencies = [
31
31
  "MarkupSafe==3.0.3",
32
32
  "mergedeep==1.3.4",
33
33
  "packaging==26.0",
34
- "python-gitlab==8.1.0",
35
- "python-gitlab[graphql]==8.1.0",
36
- "requests==2.32.5",
34
+ "python-gitlab==8.2.0",
35
+ "python-gitlab[graphql]==8.2.0",
36
+ "requests==2.33.0",
37
37
  "ruamel.yaml==0.17.21",
38
38
  "yamlpath==3.8.2",
39
39
  ]
@@ -51,15 +51,15 @@ content-type = "text/markdown"
51
51
  [project.optional-dependencies]
52
52
  test = [
53
53
  "coverage==7.13.5",
54
- "cryptography==46.0.5",
55
- "deepdiff==8.6.2",
54
+ "cryptography==46.0.6",
55
+ "deepdiff==9.0.0",
56
56
  "mypy==1.19.1",
57
57
  "mypy-extensions==1.1.0",
58
58
  "pre-commit==2.21.0",
59
59
  "pytest==9.0.2",
60
60
  "pytest-cov==7.1.0",
61
61
  "pytest-rerunfailures==16.1",
62
- "types-requests==2.32.4.20260107",
62
+ "types-requests==2.33.0.20260327",
63
63
  "types-setuptools==82.0.0.20260210",
64
64
  "xkcdpass==1.30.0",
65
65
  ]
File without changes
File without changes
File without changes
File without changes