cumulusci-plus 5.0.9__py3-none-any.whl → 5.0.10__py3-none-any.whl

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.
cumulusci/__about__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "5.0.9"
1
+ __version__ = "5.0.10"
cumulusci/cli/cci.py CHANGED
@@ -50,13 +50,8 @@ _exit_stack = None
50
50
  _signal_handler_active = False # Flag to prevent recursive signal handler calls
51
51
 
52
52
 
53
- def _signal_handler(signum, frame):
54
- """Handle termination signals.
55
-
56
- This handler ensures the CLI exits gracefully with a failure code when
57
- receiving SIGTERM or SIGINT signals, such as when an Azure DevOps pipeline
58
- is cancelled. It also terminates all child processes in the process group.
59
- """
53
+ def _cleanup_on_signal(signum):
54
+ """Cleanup action for termination signals."""
60
55
  global _signal_handler_active
61
56
 
62
57
  # Prevent recursive signal handler calls
@@ -118,6 +113,11 @@ def _signal_handler(signum, frame):
118
113
  sys.exit(exit_code)
119
114
 
120
115
 
116
+ def _signal_handler(signum, frame):
117
+ """Handle termination signals by deferring to the cleanup function."""
118
+ _cleanup_on_signal(signum)
119
+
120
+
121
121
  #
122
122
  # Root command
123
123
  #
@@ -185,9 +185,7 @@ def main(args=None):
185
185
  try:
186
186
  cli(args[1:], standalone_mode=False, obj=runtime)
187
187
  except click.Abort: # Keyboard interrupt
188
- console = Console()
189
- show_debug_info() if debug else console.print("\n[red bold]Aborted!")
190
- sys.exit(1)
188
+ _cleanup_on_signal(signal.SIGINT)
191
189
  except Exception as e:
192
190
  if debug:
193
191
  console = Console()
@@ -662,14 +662,20 @@ class UnmanagedVcsDependencyFlow(UnmanagedStaticDependency, ABC):
662
662
  flow_config = project_config.get_flow(self.flow_name)
663
663
  flow_config.name = self.flow_name
664
664
 
665
+ pre_post_options = {
666
+ "unmanaged": self._get_unmanaged(org),
667
+ "namespace_inject": self.namespace_inject,
668
+ "namespace_strip": self.namespace_strip,
669
+ }
670
+
665
671
  coordinator = FlowCoordinator(
666
672
  project_config,
667
673
  flow_config,
668
674
  name=flow_config.name,
669
675
  options={
670
- "unmanaged": self._get_unmanaged(org),
671
- "namespace_inject": self.namespace_inject,
672
- "namespace_strip": self.namespace_strip,
676
+ "flow": pre_post_options,
677
+ "deploy_pre": pre_post_options,
678
+ "deploy_post": pre_post_options,
673
679
  },
674
680
  skip=None,
675
681
  callbacks=self.callback_class(),
@@ -1,37 +1,43 @@
1
+ from cumulusci.core.exceptions import TaskOptionsError
1
2
  from cumulusci.tasks.base_source_control_task import BaseSourceControlTask
3
+ from cumulusci.utils.options import CCIOptions, Field
2
4
 
3
5
 
4
6
  class CreatePackageDataFromCommitStatus(BaseSourceControlTask):
5
- task_options = {
6
- "state": {
7
- "description": "sha of the commit",
8
- "required": True,
9
- },
10
- "context": {
11
- "description": "Name of the commit status context",
12
- "required": True,
13
- },
14
- "commit_id": {
15
- "description": "sha of the commit",
16
- },
17
- "description": {
18
- "description": "Description of the commit status",
19
- },
20
- "target_url": {
21
- "description": "URL to associate with the commit status",
22
- },
23
- }
7
+ class Options(CCIOptions):
8
+ state: str = Field(description="sha of the commit")
9
+ context: str = Field(description="Name of the commit status context")
10
+ commit_id: str = Field(description="sha of the commit", default=None)
11
+ description: str = Field(
12
+ description="Description of the commit status", default=None
13
+ )
14
+ target_url: str = Field(
15
+ description="URL to associate with the commit status", default=None
16
+ )
17
+
18
+ parsed_options: Options
24
19
 
25
20
  def _run_task(self):
26
21
  repo = self.get_repo()
27
- commit_sha = self.options["commit_id"] or self.project_config.repo_commit or ""
22
+ commit_sha = (
23
+ self.parsed_options.commit_id or self.project_config.repo_commit or ""
24
+ )
25
+
26
+ if not commit_sha:
27
+ raise TaskOptionsError(
28
+ "Commit not found. Please provide a valid commit ID."
29
+ )
28
30
 
29
31
  commit = repo.create_commit_status(
30
32
  commit_sha,
31
- state=self.options["state"],
32
- context=self.options["context"],
33
- description=self.options.get("description"),
34
- target_url=self.options.get("target_url"),
33
+ state=self.parsed_options.state,
34
+ context=self.parsed_options.context,
35
+ description=self.parsed_options.description,
36
+ target_url=self.parsed_options.target_url,
35
37
  )
36
38
 
37
39
  self.return_values = {"commit_id": commit.sha}
40
+
41
+ self.logger.info(
42
+ f"Commit status created for commit {commit_sha} with state {self.parsed_options.state}"
43
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cumulusci-plus
3
- Version: 5.0.9
3
+ Version: 5.0.10
4
4
  Summary: Build and release tools for Salesforce developers
5
5
  Project-URL: Homepage, https://github.com/jorgesolebur/CumulusCI
6
6
  Project-URL: Changelog, https://cumulusci.readthedocs.io/en/stable/history.html
@@ -127,6 +127,17 @@ license](https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE)
127
127
  and is not covered by the Salesforce Master Subscription Agreement.
128
128
 
129
129
  <!-- Changelog -->
130
- ## v5.0.9 (2025-07-23)
130
+ ## v5.0.10 (2025-07-25)
131
131
 
132
- {"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/releases/releases#generate-release-notes-content-for-a-release","status":"403"}
132
+ <!-- Release notes generated using configuration in .github/release.yml at main -->
133
+
134
+ ## What's Changed
135
+
136
+ ### Changes
137
+
138
+ - Fix repo URL to generate release notes. by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#37](https://github.com/jorgesolebur/CumulusCI/pull/37)
139
+ - Update Commit Status create task with Options by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#39](https://github.com/jorgesolebur/CumulusCI/pull/39)
140
+ - Fix module path for CCIOptions by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#41](https://github.com/jorgesolebur/CumulusCI/pull/41)
141
+ - CCI Dependency Flow, Fix Ctrl + C by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#43](https://github.com/jorgesolebur/CumulusCI/pull/43)
142
+
143
+ **Full Changelog**: https://github.com/jorgesolebur/CumulusCI/compare/v5.0.9...v5.0.10
@@ -1,10 +1,10 @@
1
- cumulusci/__about__.py,sha256=htJkFGv1pEl2x0AOxjwUuzliBJOAfmYsgFclTAT77Fo,22
1
+ cumulusci/__about__.py,sha256=EmzhdAwLnYXXoZ0aJJraVgHSrBRip89O63i_qg7JgbQ,23
2
2
  cumulusci/__init__.py,sha256=jdanFQ_i8vbdO7Eltsf4pOfvV4mwa_Osyc4gxWKJ8ng,764
3
3
  cumulusci/__main__.py,sha256=kgRH-n5AJrH_daCK_EJwH7azAUxdXEmpi-r-dPGMR6Y,43
4
4
  cumulusci/conftest.py,sha256=AIL98BDwNAQtdo8YFmLKwav0tmrQ5dpbw1cX2FyGouQ,5108
5
5
  cumulusci/cumulusci.yml,sha256=FE1Dm7EhcMXY-XtLljbcbRyo_E0tvspaxqh8Nsiup3w,72365
6
6
  cumulusci/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- cumulusci/cli/cci.py,sha256=NcFm0Nng5o47fAMcjpSHjWRvQKDbD2lwPSkuoCVW9eA,11901
7
+ cumulusci/cli/cci.py,sha256=nho1RrdyCWsOKpMwwzoDVA7dOpNEHpb4jx0JeKkmOIE,11714
8
8
  cumulusci/cli/error.py,sha256=znj0YN8D2Grozm1u7mZAsJlmmdGebbuy0c1ofQluL4Q,4410
9
9
  cumulusci/cli/flow.py,sha256=rN_9WL2Z6dcx-oRngChIgei3E5Qmg3XVzk5ND1o0i3s,6171
10
10
  cumulusci/cli/logger.py,sha256=bpzSD0Bm0BAwdNbVR6yZXMREh2vm7jOytZevEaNoVR4,2267
@@ -65,7 +65,7 @@ cumulusci/core/config/tests/test_config.py,sha256=ZtIQSIzQWebw7mYXgehnp3CvoatC_t
65
65
  cumulusci/core/config/tests/test_config_expensive.py,sha256=__3JEuoAQ8s5njTcbyZlpXHr0jR0Qtne96xyF7fzqjQ,30137
66
66
  cumulusci/core/config/tests/test_config_util.py,sha256=X1SY9PIhLoQuC8duBKgs804aghN3n12DhqiC_f6jSmM,3177
67
67
  cumulusci/core/dependencies/__init__.py,sha256=Txf4VCrRW-aREKHqzK3ZyauQMsgtCXjiLkQzpMQT0kI,1533
68
- cumulusci/core/dependencies/base.py,sha256=i5F7D2CwoWwUHqjI0LRCwwJGqhGKFRDkerg0N8uJdQs,22804
68
+ cumulusci/core/dependencies/base.py,sha256=73Wy1BGvqinDOrPAyPjY_Qz4PyePhupxtt01IMY3zIk,22971
69
69
  cumulusci/core/dependencies/dependencies.py,sha256=74KjrCRn7AjKPBSGOm4pU34eJd8GSp1wNs7EFIC0wBE,8689
70
70
  cumulusci/core/dependencies/github.py,sha256=ozpRc5ADJsRDD5C_T-TLFygnBDE5Y9_03ZLCtZ-qr98,5897
71
71
  cumulusci/core/dependencies/github_resolvers.py,sha256=Em8p41Q-npoKv1ZAYNxXVrluQmYitzVfLLXlmln-MGw,9196
@@ -613,7 +613,7 @@ cumulusci/tasks/tests/test_sfdx.py,sha256=oUbHo28d796m5RuskXMLitJw2rCLjjXIfxggzr
613
613
  cumulusci/tasks/tests/test_util.py,sha256=D1T0QnvPTS0PHeZWo2xiVgE1jVTYcLzGTGHwEIoVmxk,7296
614
614
  cumulusci/tasks/vcs/__init__.py,sha256=ZzpMZnhooXZ6r_ywBVTS3UNw9uMcXW6h33LylRqTDK0,700
615
615
  cumulusci/tasks/vcs/commit_status.py,sha256=hgPUVHeQyIfMsCuwrw2RI-ufnbjdRARc6HI3BEgdcxI,2332
616
- cumulusci/tasks/vcs/create_commit_status.py,sha256=Et1kCZOxraVHW460ypcJ91KE2SUiQSwbcLwAQUwEIVo,1166
616
+ cumulusci/tasks/vcs/create_commit_status.py,sha256=kr_OFM3J32jxusS1og-K91Kl1F_Nr7SlevRsJKBhifs,1565
617
617
  cumulusci/tasks/vcs/download_extract.py,sha256=Bh3XYtQg7Mt_BVLaVNgNz4hmhRkkc_D2Y1YKeU80DKY,7425
618
618
  cumulusci/tasks/vcs/merge.py,sha256=iGDQMfRrxpQatV8ZdDoqJLLY88cernWU7Vv2LShtm-o,13264
619
619
  cumulusci/tasks/vcs/publish.py,sha256=g6ExqXtZcjcl4uez8Zt6KakHYoRUcnNCmEGaXSqb5yM,8179
@@ -736,9 +736,9 @@ cumulusci/vcs/tests/dummy_service.py,sha256=RltOUpMIhSDNrfxk0LhLqlH4ppC0sK6NC2cO
736
736
  cumulusci/vcs/tests/test_vcs_base.py,sha256=9mp6uZ3lTxY4onjUNCucp9N9aB3UylKS7_2Zu_hdAZw,24331
737
737
  cumulusci/vcs/tests/test_vcs_bootstrap.py,sha256=N0NA48-rGNIIjY3Z7PtVnNwHObSlEGDk2K55TQGI8g4,27954
738
738
  cumulusci/vcs/utils/__init__.py,sha256=py4fEcHM7Vd0M0XWznOlywxaeCtG3nEVGmELmEKVGU8,869
739
- cumulusci_plus-5.0.9.dist-info/METADATA,sha256=wJIf_2LQnYB14hynOvNeWdhDXBp4ICUVJqW28c1aO-g,5582
740
- cumulusci_plus-5.0.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
741
- cumulusci_plus-5.0.9.dist-info/entry_points.txt,sha256=nTtu04b9iLXhzADcTrb5PwmdXE6e2MTUAMh9OK6Z2pg,80
742
- cumulusci_plus-5.0.9.dist-info/licenses/AUTHORS.rst,sha256=PvewjKImdKPhhJ6xR2EEZ4T7GbpY2ZeAeyWm2aLtiMQ,676
743
- cumulusci_plus-5.0.9.dist-info/licenses/LICENSE,sha256=NFsF_s7RVXk2dU6tmRAN8wF45pnD98VZ5IwqOsyBcaU,1499
744
- cumulusci_plus-5.0.9.dist-info/RECORD,,
739
+ cumulusci_plus-5.0.10.dist-info/METADATA,sha256=SJ8wcZ78rfPAjB-LWAtPNaORZ4zICzwvaH4hpB7QFiw,6206
740
+ cumulusci_plus-5.0.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
741
+ cumulusci_plus-5.0.10.dist-info/entry_points.txt,sha256=nTtu04b9iLXhzADcTrb5PwmdXE6e2MTUAMh9OK6Z2pg,80
742
+ cumulusci_plus-5.0.10.dist-info/licenses/AUTHORS.rst,sha256=PvewjKImdKPhhJ6xR2EEZ4T7GbpY2ZeAeyWm2aLtiMQ,676
743
+ cumulusci_plus-5.0.10.dist-info/licenses/LICENSE,sha256=NFsF_s7RVXk2dU6tmRAN8wF45pnD98VZ5IwqOsyBcaU,1499
744
+ cumulusci_plus-5.0.10.dist-info/RECORD,,