codecov-cli 0.7.4__tar.gz → 0.7.5__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 (101) hide show
  1. {codecov-cli-0.7.4/codecov_cli.egg-info → codecov-cli-0.7.5}/PKG-INFO +1 -1
  2. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/base_picking.py +6 -9
  3. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/commit.py +6 -11
  4. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/create_report_result.py +6 -10
  5. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/empty_upload.py +6 -10
  6. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/get_report_results.py +4 -9
  7. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/labelanalysis.py +5 -10
  8. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/process_test_results.py +20 -4
  9. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/report.py +6 -9
  10. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/send_notifications.py +6 -8
  11. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/staticanalysis.py +6 -11
  12. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/upload.py +6 -28
  13. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/upload_process.py +5 -27
  14. codecov-cli-0.7.5/codecov_cli/helpers/args.py +31 -0
  15. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/__init__.py +3 -1
  16. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/config.py +2 -2
  17. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/folder_searcher.py +13 -13
  18. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/request.py +28 -1
  19. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/versioning_systems.py +6 -12
  20. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/main.py +2 -0
  21. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/commit/__init__.py +18 -3
  22. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/commit/base_picking.py +2 -1
  23. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/empty_upload/__init__.py +14 -2
  24. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/report/__init__.py +26 -4
  25. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/__init__.py +1 -0
  26. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/__init__.py +2 -0
  27. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/file_finder.py +12 -11
  28. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/legacy_upload_sender.py +6 -1
  29. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/upload_sender.py +5 -3
  30. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload_completion/__init__.py +11 -2
  31. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/types.py +26 -10
  32. {codecov-cli-0.7.4 → codecov-cli-0.7.5/codecov_cli.egg-info}/PKG-INFO +1 -1
  33. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli.egg-info/SOURCES.txt +1 -0
  34. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/setup.py +1 -1
  35. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/LICENSE +0 -0
  36. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/MANIFEST.in +0 -0
  37. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/README.md +0 -0
  38. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/__init__.py +0 -0
  39. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/commands/__init__.py +0 -0
  40. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/fallbacks.py +0 -0
  41. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/__init__.py +0 -0
  42. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/appveyor_ci.py +0 -0
  43. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/azure_pipelines.py +0 -0
  44. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/base.py +0 -0
  45. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/bitbucket_ci.py +0 -0
  46. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/bitrise_ci.py +0 -0
  47. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/buildkite.py +0 -0
  48. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/circleci.py +0 -0
  49. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/cirrus_ci.py +0 -0
  50. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/cloudbuild.py +0 -0
  51. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/codebuild.py +0 -0
  52. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/droneci.py +0 -0
  53. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/github_actions.py +0 -0
  54. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/gitlab_ci.py +0 -0
  55. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/heroku.py +0 -0
  56. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/jenkins.py +0 -0
  57. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/local.py +0 -0
  58. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/teamcity.py +0 -0
  59. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/travis_ci.py +0 -0
  60. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/ci_adapters/woodpeckerci.py +0 -0
  61. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/encoder.py +0 -0
  62. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/git.py +0 -0
  63. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/git_services/__init__.py +0 -0
  64. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/git_services/github.py +0 -0
  65. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/logging_utils.py +0 -0
  66. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/options.py +0 -0
  67. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/helpers/validators.py +0 -0
  68. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/__init__.py +0 -0
  69. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/compress_pycoverage_contexts.py +0 -0
  70. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/gcov.py +0 -0
  71. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/pycoverage.py +0 -0
  72. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/types.py +0 -0
  73. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/plugins/xcode.py +0 -0
  74. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/runners/__init__.py +0 -0
  75. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/runners/dan_runner.py +0 -0
  76. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/runners/pytest_standard_runner.py +0 -0
  77. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/runners/types.py +0 -0
  78. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/__init__.py +0 -0
  79. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/__init__.py +0 -0
  80. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/general.py +0 -0
  81. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/__init__.py +0 -0
  82. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/node_wrappers.py +0 -0
  83. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/python/__init__.py +0 -0
  84. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/analyzers/python/node_wrappers.py +0 -0
  85. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/exceptions.py +0 -0
  86. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/finders.py +0 -0
  87. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/staticanalysis/types.py +0 -0
  88. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/network_finder.py +0 -0
  89. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli/services/upload/upload_collector.py +0 -0
  90. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli.egg-info/dependency_links.txt +0 -0
  91. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli.egg-info/entry_points.txt +0 -0
  92. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli.egg-info/requires.txt +0 -0
  93. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/codecov_cli.egg-info/top_level.txt +0 -0
  94. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/languages.c +0 -0
  95. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterjavascript/src/parser.c +0 -0
  96. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterjavascript/src/scanner.c +0 -0
  97. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterjavascript/src/tree_sitter/parser.h +0 -0
  98. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterpython/src/parser.c +0 -0
  99. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterpython/src/scanner.cc +0 -0
  100. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/languages/treesitterpython/src/tree_sitter/parser.h +0 -0
  101. {codecov-cli-0.7.4 → codecov-cli-0.7.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codecov-cli
3
- Version: 0.7.4
3
+ Version: 0.7.5
4
4
  Summary: Codecov Command Line Interface
5
5
  Author: Codecov
6
6
  Author-email: support@codecov.io
@@ -4,8 +4,10 @@ import typing
4
4
  import click
5
5
 
6
6
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
7
+ from codecov_cli.helpers.args import get_cli_args
7
8
  from codecov_cli.helpers.encoder import slug_without_subgroups_is_invalid
8
9
  from codecov_cli.services.commit.base_picking import base_picking_logic
10
+ from codecov_cli.types import CommandContext
9
11
 
10
12
  logger = logging.getLogger("codecovcli")
11
13
 
@@ -45,7 +47,7 @@ logger = logging.getLogger("codecovcli")
45
47
  )
46
48
  @click.pass_context
47
49
  def pr_base_picking(
48
- ctx,
50
+ ctx: CommandContext,
49
51
  base_sha: str,
50
52
  pr: typing.Optional[int],
51
53
  slug: typing.Optional[str],
@@ -53,16 +55,11 @@ def pr_base_picking(
53
55
  service: typing.Optional[str],
54
56
  ):
55
57
  enterprise_url = ctx.obj.get("enterprise_url")
58
+ args = get_cli_args(ctx)
56
59
  logger.debug(
57
60
  "Starting base picking process",
58
61
  extra=dict(
59
- extra_log_attributes=dict(
60
- pr=pr,
61
- slug=slug,
62
- token=token,
63
- service=service,
64
- enterprise_url=enterprise_url,
65
- )
62
+ extra_log_attributes=args,
66
63
  ),
67
64
  )
68
65
 
@@ -72,4 +69,4 @@ def pr_base_picking(
72
69
  )
73
70
  return
74
71
 
75
- base_picking_logic(base_sha, pr, slug, token, service, enterprise_url)
72
+ base_picking_logic(base_sha, pr, slug, token, service, enterprise_url, args)
@@ -4,9 +4,11 @@ import typing
4
4
  import click
5
5
 
6
6
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
7
+ from codecov_cli.helpers.args import get_cli_args
7
8
  from codecov_cli.helpers.git import GitService
8
9
  from codecov_cli.helpers.options import global_options
9
10
  from codecov_cli.services.commit import create_commit_logic
11
+ from codecov_cli.types import CommandContext
10
12
 
11
13
  logger = logging.getLogger("codecovcli")
12
14
 
@@ -35,7 +37,7 @@ logger = logging.getLogger("codecovcli")
35
37
  @global_options
36
38
  @click.pass_context
37
39
  def create_commit(
38
- ctx,
40
+ ctx: CommandContext,
39
41
  commit_sha: str,
40
42
  parent_sha: typing.Optional[str],
41
43
  pull_request_number: typing.Optional[int],
@@ -46,19 +48,11 @@ def create_commit(
46
48
  fail_on_error: bool,
47
49
  ):
48
50
  enterprise_url = ctx.obj.get("enterprise_url")
51
+ args = get_cli_args(ctx)
49
52
  logger.debug(
50
53
  "Starting create commit process",
51
54
  extra=dict(
52
- extra_log_attributes=dict(
53
- commit_sha=commit_sha,
54
- parent_sha=parent_sha,
55
- pr=pull_request_number,
56
- branch=branch,
57
- slug=slug,
58
- token=token,
59
- service=git_service,
60
- enterprise_url=enterprise_url,
61
- )
55
+ extra_log_attributes=args,
62
56
  ),
63
57
  )
64
58
  create_commit_logic(
@@ -71,4 +65,5 @@ def create_commit(
71
65
  git_service,
72
66
  enterprise_url,
73
67
  fail_on_error,
68
+ args,
74
69
  )
@@ -2,8 +2,10 @@ import logging
2
2
 
3
3
  import click
4
4
 
5
+ from codecov_cli.helpers.args import get_cli_args
5
6
  from codecov_cli.helpers.options import global_options
6
7
  from codecov_cli.services.report import create_report_results_logic
8
+ from codecov_cli.types import CommandContext
7
9
 
8
10
  logger = logging.getLogger("codecovcli")
9
11
 
@@ -15,7 +17,7 @@ logger = logging.getLogger("codecovcli")
15
17
  @global_options
16
18
  @click.pass_context
17
19
  def create_report_results(
18
- ctx,
20
+ ctx: CommandContext,
19
21
  commit_sha: str,
20
22
  code: str,
21
23
  slug: str,
@@ -24,19 +26,13 @@ def create_report_results(
24
26
  fail_on_error: bool,
25
27
  ):
26
28
  enterprise_url = ctx.obj.get("enterprise_url")
29
+ args = get_cli_args(ctx)
27
30
  logger.debug(
28
31
  "Creating report results",
29
32
  extra=dict(
30
- extra_log_attributes=dict(
31
- commit_sha=commit_sha,
32
- code=code,
33
- slug=slug,
34
- service=git_service,
35
- enterprise_url=enterprise_url,
36
- token=token,
37
- )
33
+ extra_log_attributes=args,
38
34
  ),
39
35
  )
40
36
  create_report_results_logic(
41
- commit_sha, code, slug, git_service, token, enterprise_url, fail_on_error
37
+ commit_sha, code, slug, git_service, token, enterprise_url, fail_on_error, args
42
38
  )
@@ -4,9 +4,11 @@ import typing
4
4
  import click
5
5
 
6
6
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
7
+ from codecov_cli.helpers.args import get_cli_args
7
8
  from codecov_cli.helpers.git import GitService
8
9
  from codecov_cli.helpers.options import global_options
9
10
  from codecov_cli.services.empty_upload import empty_upload_logic
11
+ from codecov_cli.types import CommandContext
10
12
 
11
13
  logger = logging.getLogger("codecovcli")
12
14
 
@@ -16,7 +18,7 @@ logger = logging.getLogger("codecovcli")
16
18
  @global_options
17
19
  @click.pass_context
18
20
  def empty_upload(
19
- ctx,
21
+ ctx: CommandContext,
20
22
  commit_sha: str,
21
23
  force: bool,
22
24
  slug: typing.Optional[str],
@@ -25,19 +27,13 @@ def empty_upload(
25
27
  fail_on_error: typing.Optional[bool],
26
28
  ):
27
29
  enterprise_url = ctx.obj.get("enterprise_url")
30
+ args = get_cli_args(ctx)
28
31
  logger.debug(
29
32
  "Starting empty upload process",
30
33
  extra=dict(
31
- extra_log_attributes=dict(
32
- commit_sha=commit_sha,
33
- slug=slug,
34
- token=token,
35
- service=git_service,
36
- enterprise_url=enterprise_url,
37
- fail_on_error=fail_on_error,
38
- )
34
+ extra_log_attributes=args,
39
35
  ),
40
36
  )
41
37
  return empty_upload_logic(
42
- commit_sha, slug, token, git_service, enterprise_url, fail_on_error, force
38
+ commit_sha, slug, token, git_service, enterprise_url, fail_on_error, force, args
43
39
  )
@@ -7,6 +7,7 @@ from codecov_cli.helpers.encoder import encode_slug
7
7
  from codecov_cli.helpers.git import GitService
8
8
  from codecov_cli.helpers.options import global_options
9
9
  from codecov_cli.services.report import send_reports_result_get_request
10
+ from codecov_cli.types import CommandContext
10
11
 
11
12
  logger = logging.getLogger("codecovcli")
12
13
 
@@ -18,7 +19,7 @@ logger = logging.getLogger("codecovcli")
18
19
  @global_options
19
20
  @click.pass_context
20
21
  def get_report_results(
21
- ctx,
22
+ ctx: CommandContext,
22
23
  commit_sha: str,
23
24
  code: str,
24
25
  slug: str,
@@ -27,17 +28,11 @@ def get_report_results(
27
28
  fail_on_error: bool,
28
29
  ):
29
30
  enterprise_url = ctx.obj.get("enterprise_url")
31
+ args = get_cli_args(ctx)
30
32
  logger.debug(
31
33
  "Getting report results",
32
34
  extra=dict(
33
- extra_log_attributes=dict(
34
- commit_sha=commit_sha,
35
- code=code,
36
- slug=slug,
37
- service=git_service,
38
- enterprise_url=enterprise_url,
39
- token=token,
40
- )
35
+ extra_log_attributes=args,
41
36
  ),
42
37
  )
43
38
  encoded_slug = encode_slug(slug)
@@ -9,6 +9,7 @@ import requests
9
9
 
10
10
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
11
11
  from codecov_cli.helpers import request
12
+ from codecov_cli.helpers.args import get_cli_args
12
13
  from codecov_cli.helpers.config import CODECOV_API_URL
13
14
  from codecov_cli.helpers.validators import validate_commit_sha
14
15
  from codecov_cli.runners import get_runner
@@ -16,6 +17,7 @@ from codecov_cli.runners.types import (
16
17
  LabelAnalysisRequestResult,
17
18
  LabelAnalysisRunnerInterface,
18
19
  )
20
+ from codecov_cli.types import CommandContext
19
21
 
20
22
  logger = logging.getLogger("codecovcli")
21
23
 
@@ -77,7 +79,7 @@ logger = logging.getLogger("codecovcli")
77
79
  )
78
80
  @click.pass_context
79
81
  def label_analysis(
80
- ctx: click.Context,
82
+ ctx: CommandContext,
81
83
  token: str,
82
84
  head_commit_sha: str,
83
85
  base_commit_sha: str,
@@ -88,18 +90,11 @@ def label_analysis(
88
90
  runner_params: List[str],
89
91
  ):
90
92
  enterprise_url = ctx.obj.get("enterprise_url")
93
+ args = get_cli_args(ctx)
91
94
  logger.debug(
92
95
  "Starting label analysis",
93
96
  extra=dict(
94
- extra_log_attributes=dict(
95
- head_commit_sha=head_commit_sha,
96
- base_commit_sha=base_commit_sha,
97
- token=token,
98
- runner_name=runner_name,
99
- enterprise_url=enterprise_url,
100
- max_wait_time=max_wait_time,
101
- dry_run=dry_run,
102
- )
97
+ extra_log_attributes=args,
103
98
  ),
104
99
  )
105
100
  if head_commit_sha == base_commit_sha:
@@ -13,11 +13,13 @@ from test_results_parser import (
13
13
  parse_junit_xml,
14
14
  )
15
15
 
16
+ from codecov_cli.helpers.args import get_cli_args
16
17
  from codecov_cli.helpers.request import (
17
18
  log_warnings_and_errors_if_any,
18
19
  send_post_request,
19
20
  )
20
21
  from codecov_cli.services.upload.file_finder import select_file_finder
22
+ from codecov_cli.types import CommandContext
21
23
 
22
24
  logger = logging.getLogger("codecovcli")
23
25
 
@@ -83,8 +85,14 @@ class TestResultsNotificationPayload:
83
85
 
84
86
  @click.command()
85
87
  @process_test_results_options
88
+ @click.pass_context
86
89
  def process_test_results(
87
- dir=None, files=None, exclude_folders=None, disable_search=None, provider_token=None
90
+ ctx: CommandContext,
91
+ dir=None,
92
+ files=None,
93
+ exclude_folders=None,
94
+ disable_search=None,
95
+ provider_token=None,
88
96
  ):
89
97
  if provider_token is None:
90
98
  raise click.ClickException(
@@ -130,10 +138,11 @@ def process_test_results(
130
138
  # GITHUB_REF is documented here: https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
131
139
  pr_number = ref.split("/")[2]
132
140
 
133
- create_github_comment(provider_token, slug, pr_number, message)
141
+ args = get_cli_args(ctx)
142
+ create_github_comment(provider_token, slug, pr_number, message, args)
134
143
 
135
144
 
136
- def create_github_comment(token, repo_slug, pr_number, message):
145
+ def create_github_comment(token, repo_slug, pr_number, message, args):
137
146
  url = f"https://api.github.com/repos/{repo_slug}/issues/{pr_number}/comments"
138
147
 
139
148
  headers = {
@@ -144,7 +153,14 @@ def create_github_comment(token, repo_slug, pr_number, message):
144
153
  logger.info("Posting github comment")
145
154
 
146
155
  log_warnings_and_errors_if_any(
147
- send_post_request(url=url, data={"body": message}, headers=headers),
156
+ send_post_request(
157
+ url=url,
158
+ data={
159
+ "body": message,
160
+ "cli_args": args,
161
+ },
162
+ headers=headers,
163
+ ),
148
164
  "Posting test results comment",
149
165
  )
150
166
 
@@ -3,8 +3,10 @@ import logging
3
3
  import click
4
4
 
5
5
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
6
+ from codecov_cli.helpers.args import get_cli_args
6
7
  from codecov_cli.helpers.options import global_options
7
8
  from codecov_cli.services.report import create_report_logic
9
+ from codecov_cli.types import CommandContext
8
10
 
9
11
  logger = logging.getLogger("codecovcli")
10
12
 
@@ -25,7 +27,7 @@ logger = logging.getLogger("codecovcli")
25
27
  @global_options
26
28
  @click.pass_context
27
29
  def create_report(
28
- ctx,
30
+ ctx: CommandContext,
29
31
  commit_sha: str,
30
32
  code: str,
31
33
  slug: str,
@@ -35,17 +37,11 @@ def create_report(
35
37
  pull_request_number: int,
36
38
  ):
37
39
  enterprise_url = ctx.obj.get("enterprise_url")
40
+ args = get_cli_args(ctx)
38
41
  logger.debug(
39
42
  "Starting create report process",
40
43
  extra=dict(
41
- extra_log_attributes=dict(
42
- commit_sha=commit_sha,
43
- code=code,
44
- slug=slug,
45
- service=git_service,
46
- enterprise_url=enterprise_url,
47
- token=token,
48
- )
44
+ extra_log_attributes=args,
49
45
  ),
50
46
  )
51
47
  res = create_report_logic(
@@ -57,6 +53,7 @@ def create_report(
57
53
  enterprise_url,
58
54
  pull_request_number,
59
55
  fail_on_error,
56
+ args,
60
57
  )
61
58
  if not res.error:
62
59
  logger.info(
@@ -4,9 +4,11 @@ import typing
4
4
  import click
5
5
 
6
6
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
7
+ from codecov_cli.helpers.args import get_cli_args
7
8
  from codecov_cli.helpers.git import GitService
8
9
  from codecov_cli.helpers.options import global_options
9
10
  from codecov_cli.services.upload_completion import upload_completion_logic
11
+ from codecov_cli.types import CommandContext
10
12
 
11
13
  logger = logging.getLogger("codecovcli")
12
14
 
@@ -15,7 +17,7 @@ logger = logging.getLogger("codecovcli")
15
17
  @global_options
16
18
  @click.pass_context
17
19
  def send_notifications(
18
- ctx,
20
+ ctx: CommandContext,
19
21
  commit_sha: str,
20
22
  slug: typing.Optional[str],
21
23
  token: typing.Optional[str],
@@ -23,16 +25,11 @@ def send_notifications(
23
25
  fail_on_error: bool,
24
26
  ):
25
27
  enterprise_url = ctx.obj.get("enterprise_url")
28
+ args = get_cli_args(ctx)
26
29
  logger.debug(
27
30
  "Sending notifications process has started",
28
31
  extra=dict(
29
- extra_log_attributes=dict(
30
- commit_sha=commit_sha,
31
- slug=slug,
32
- token=token,
33
- service=git_service,
34
- enterprise_url=enterprise_url,
35
- )
32
+ extra_log_attributes=args,
36
33
  ),
37
34
  )
38
35
  return upload_completion_logic(
@@ -42,4 +39,5 @@ def send_notifications(
42
39
  git_service,
43
40
  enterprise_url,
44
41
  fail_on_error,
42
+ args,
45
43
  )
@@ -6,8 +6,10 @@ import typing
6
6
  import click
7
7
 
8
8
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
9
+ from codecov_cli.helpers.args import get_cli_args
9
10
  from codecov_cli.helpers.validators import validate_commit_sha
10
11
  from codecov_cli.services.staticanalysis import run_analysis_entrypoint
12
+ from codecov_cli.types import CommandContext
11
13
 
12
14
  logger = logging.getLogger("codecovcli")
13
15
 
@@ -48,7 +50,7 @@ logger = logging.getLogger("codecovcli")
48
50
  )
49
51
  @click.pass_context
50
52
  def static_analysis(
51
- ctx,
53
+ ctx: CommandContext,
52
54
  foldertosearch,
53
55
  numberprocesses,
54
56
  pattern,
@@ -58,19 +60,11 @@ def static_analysis(
58
60
  folders_to_exclude: typing.List[pathlib.Path],
59
61
  ):
60
62
  enterprise_url = ctx.obj.get("enterprise_url")
63
+ args = get_cli_args(ctx)
61
64
  logger.debug(
62
65
  "Starting Static Analysis processing",
63
66
  extra=dict(
64
- extra_log_attributes=dict(
65
- foldertosearch=foldertosearch,
66
- numberprocesses=numberprocesses,
67
- pattern=pattern,
68
- commit_sha=commit,
69
- token=token,
70
- force=force,
71
- folders_to_exclude=folders_to_exclude,
72
- enterprise_url=enterprise_url,
73
- )
67
+ extra_log_attributes=args,
74
68
  ),
75
69
  )
76
70
  return asyncio.run(
@@ -84,5 +78,6 @@ def static_analysis(
84
78
  force,
85
79
  list(folders_to_exclude),
86
80
  enterprise_url,
81
+ args,
87
82
  )
88
83
  )
@@ -6,8 +6,10 @@ import typing
6
6
  import click
7
7
 
8
8
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
9
+ from codecov_cli.helpers.args import get_cli_args
9
10
  from codecov_cli.helpers.options import global_options
10
11
  from codecov_cli.services.upload import do_upload_logic
12
+ from codecov_cli.types import CommandContext
11
13
 
12
14
  logger = logging.getLogger("codecovcli")
13
15
 
@@ -190,7 +192,7 @@ def global_upload_options(func):
190
192
  @global_options
191
193
  @click.pass_context
192
194
  def do_upload(
193
- ctx: click.Context,
195
+ ctx: CommandContext,
194
196
  commit_sha: str,
195
197
  report_code: str,
196
198
  branch: typing.Optional[str],
@@ -224,36 +226,11 @@ def do_upload(
224
226
  cli_config = codecov_yaml.get("cli", {})
225
227
  ci_adapter = ctx.obj.get("ci_adapter")
226
228
  enterprise_url = ctx.obj.get("enterprise_url")
229
+ args = get_cli_args(ctx)
227
230
  logger.debug(
228
231
  "Starting upload processing",
229
232
  extra=dict(
230
- extra_log_attributes=dict(
231
- branch=branch,
232
- build_code=build_code,
233
- build_url=build_url,
234
- commit_sha=commit_sha,
235
- disable_file_fixes=disable_file_fixes,
236
- disable_search=disable_search,
237
- enterprise_url=enterprise_url,
238
- env_vars=env_vars,
239
- files_search_exclude_folders=files_search_exclude_folders,
240
- files_search_explicitly_listed_files=files_search_explicitly_listed_files,
241
- files_search_root_folder=files_search_root_folder,
242
- flags=flags,
243
- git_service=git_service,
244
- handle_no_reports_found=handle_no_reports_found,
245
- job_code=job_code,
246
- name=name,
247
- network_filter=network_filter,
248
- network_prefix=network_prefix,
249
- network_root_folder=network_root_folder,
250
- plugin_names=plugin_names,
251
- pull_request_number=pull_request_number,
252
- report_code=report_code,
253
- slug=slug,
254
- token=token,
255
- upload_file_type=report_type,
256
- )
233
+ extra_log_attributes=args,
257
234
  ),
258
235
  )
259
236
  do_upload_logic(
@@ -288,4 +265,5 @@ def do_upload(
288
265
  token=token,
289
266
  upload_file_type=report_type,
290
267
  use_legacy_uploader=use_legacy_uploader,
268
+ args=args,
291
269
  )
@@ -7,7 +7,9 @@ import click
7
7
  from codecov_cli.commands.commit import create_commit
8
8
  from codecov_cli.commands.report import create_report
9
9
  from codecov_cli.commands.upload import do_upload, global_upload_options
10
+ from codecov_cli.helpers.args import get_cli_args
10
11
  from codecov_cli.helpers.options import global_options
12
+ from codecov_cli.types import CommandContext
11
13
 
12
14
  logger = logging.getLogger("codecovcli")
13
15
 
@@ -22,7 +24,7 @@ logger = logging.getLogger("codecovcli")
22
24
  )
23
25
  @click.pass_context
24
26
  def upload_process(
25
- ctx,
27
+ ctx: CommandContext,
26
28
  commit_sha: str,
27
29
  report_code: str,
28
30
  build_code: typing.Optional[str],
@@ -52,35 +54,11 @@ def upload_process(
52
54
  handle_no_reports_found: bool,
53
55
  report_type: str,
54
56
  ):
57
+ args = get_cli_args(ctx)
55
58
  logger.debug(
56
59
  "Starting upload process",
57
60
  extra=dict(
58
- extra_log_attributes=dict(
59
- commit_sha=commit_sha,
60
- report_code=report_code,
61
- build_code=build_code,
62
- build_url=build_url,
63
- job_code=job_code,
64
- env_vars=env_vars,
65
- flags=flags,
66
- name=name,
67
- network_filter=network_filter,
68
- network_prefix=network_prefix,
69
- network_root_folder=network_root_folder,
70
- files_search_root_folder=files_search_root_folder,
71
- files_search_exclude_folders=files_search_exclude_folders,
72
- files_search_explicitly_listed_files=files_search_explicitly_listed_files,
73
- plugin_names=plugin_names,
74
- token=token,
75
- branch=branch,
76
- slug=slug,
77
- pull_request_number=pull_request_number,
78
- git_service=git_service,
79
- disable_search=disable_search,
80
- disable_file_fixes=disable_file_fixes,
81
- fail_on_error=fail_on_error,
82
- handle_no_reports_found=handle_no_reports_found,
83
- )
61
+ extra_log_attributes=args,
84
62
  ),
85
63
  )
86
64
 
@@ -0,0 +1,31 @@
1
+ import json
2
+ import logging
3
+ from pathlib import PosixPath
4
+
5
+ import click
6
+
7
+ from codecov_cli import __version__
8
+
9
+ logger = logging.getLogger("codecovcli")
10
+
11
+
12
+ def get_cli_args(ctx: click.Context):
13
+ args = ctx.obj["cli_args"]
14
+ args["command"] = str(ctx.command.name)
15
+ args["version"] = f"cli-{__version__}"
16
+ args.update(ctx.params)
17
+ if "token" in args:
18
+ del args["token"]
19
+
20
+ filtered_args = {}
21
+ for k in args.keys():
22
+ try:
23
+ if type(args[k]) == PosixPath:
24
+ filtered_args[k] = str(args[k])
25
+ else:
26
+ json.dumps(args[k])
27
+ filtered_args[k] = args[k]
28
+ except Exception as e:
29
+ continue
30
+
31
+ return filtered_args
@@ -1,7 +1,9 @@
1
1
  import logging
2
+ from typing import Optional
2
3
 
3
4
  from codecov_cli.helpers.ci_adapters.appveyor_ci import AppveyorCIAdapter
4
5
  from codecov_cli.helpers.ci_adapters.azure_pipelines import AzurePipelinesCIAdapter
6
+ from codecov_cli.helpers.ci_adapters.base import CIAdapterBase
5
7
  from codecov_cli.helpers.ci_adapters.bitbucket_ci import BitbucketAdapter
6
8
  from codecov_cli.helpers.ci_adapters.bitrise_ci import BitriseCIAdapter
7
9
  from codecov_cli.helpers.ci_adapters.buildkite import BuildkiteAdapter
@@ -22,7 +24,7 @@ from codecov_cli.helpers.ci_adapters.woodpeckerci import WoodpeckerCIAdapter
22
24
  logger = logging.getLogger("codecovcli")
23
25
 
24
26
 
25
- def get_ci_adapter(provider_name: str = None):
27
+ def get_ci_adapter(provider_name: str = None) -> Optional[CIAdapterBase]:
26
28
  if provider_name:
27
29
  for provider in get_ci_providers_list():
28
30
  if provider.get_service_name().lower() == provider_name.lower():
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
  import pathlib
3
- import typing
3
+ import typing as t
4
4
 
5
5
  import yaml
6
6
 
@@ -45,7 +45,7 @@ def _find_codecov_yamls():
45
45
  return yamls
46
46
 
47
47
 
48
- def load_cli_config(codecov_yml_path: typing.Optional[pathlib.Path]):
48
+ def load_cli_config(codecov_yml_path: t.Optional[pathlib.Path]) -> t.Optional[dict]:
49
49
  if not codecov_yml_path:
50
50
  yamls = _find_codecov_yamls()
51
51
  codecov_yml_path = yamls[0] if yamls else None