gha-utils 4.15.6__py3-none-any.whl → 4.16.0__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.

Potentially problematic release.


This version of gha-utils might be problematic. Click here for more details.

gha_utils/__init__.py CHANGED
@@ -17,4 +17,4 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = "4.15.6"
20
+ __version__ = "4.16.0"
gha_utils/cli.py CHANGED
@@ -29,6 +29,7 @@ from click_extra import (
29
29
  Choice,
30
30
  Context,
31
31
  FloatRange,
32
+ IntRange,
32
33
  argument,
33
34
  echo,
34
35
  extra_group,
@@ -301,6 +302,16 @@ def mailmap_sync(ctx, source, create_if_missing, destination_mailmap):
301
302
  help="Name of an environment variable containing a test plan in YAML. This "
302
303
  "option can be repeated to collect multiple test plans.",
303
304
  )
305
+ @option(
306
+ "-t",
307
+ "--select-test",
308
+ type=IntRange(min=1),
309
+ multiple=True,
310
+ metavar="INTEGER",
311
+ help="Only run the tests matching the provided test case numbers. This option can "
312
+ "be repeated to run multiple test cases. If not provided, all test cases will be "
313
+ "run.",
314
+ )
304
315
  @option(
305
316
  "-s",
306
317
  "--skip-platform",
@@ -310,7 +321,14 @@ def mailmap_sync(ctx, source, create_if_missing, destination_mailmap):
310
321
  "skip multiple platforms.",
311
322
  )
312
323
  @option(
313
- "-t",
324
+ "-x",
325
+ "--exit-on-error",
326
+ is_flag=True,
327
+ default=False,
328
+ help="Exit instantly on first failed test.",
329
+ )
330
+ @option(
331
+ "-T",
314
332
  "--timeout",
315
333
  # Timeout passed to subprocess.run() is a float that is silently clamped to
316
334
  # 0.0 is negative values are provided, so we mimic this behavior here:
@@ -320,12 +338,21 @@ def mailmap_sync(ctx, source, create_if_missing, destination_mailmap):
320
338
  help="Set the default timeout for each CLI call, if not specified in the "
321
339
  "test plan.",
322
340
  )
341
+ @option(
342
+ "--stats/--no-stats",
343
+ is_flag=True,
344
+ default=True,
345
+ help="Print per-manager package statistics.",
346
+ )
323
347
  def test_plan(
324
348
  binary: Path,
325
349
  plan_file: tuple[Path, ...] | None,
326
350
  plan_envvar: tuple[str, ...] | None,
351
+ select_test: tuple[int, ...] | None,
327
352
  skip_platform: tuple[str, ...] | None,
353
+ exit_on_error: bool,
328
354
  timeout: float | None,
355
+ stats: bool,
329
356
  ) -> None:
330
357
  # Load test plan from workflow input, or use a default one.
331
358
  test_list = []
@@ -349,25 +376,38 @@ def test_plan(
349
376
  test_list = DEFAULT_TEST_PLAN
350
377
  logging.debug(f"Test plan: {test_list}")
351
378
 
352
- stats = Counter(total=len(test_list), skipped=0, failed=0)
379
+ counter = Counter(total=len(test_list), skipped=0, failed=0)
353
380
 
354
381
  for index, test_case in enumerate(test_list):
355
- logging.info(f"Run test #{index + 1}")
382
+ test_number = index + 1
383
+ test_name = f"#{test_number}"
384
+ logging.info(f"Run test {test_name}...")
385
+
386
+ if select_test and test_number not in select_test:
387
+ logging.warning(f"Test {test_name} skipped by user request.")
388
+ counter["skipped"] += 1
389
+ continue
390
+
356
391
  try:
357
392
  logging.debug(f"Test case parameters: {test_case}")
358
393
  test_case.run_cli_test(
359
394
  binary, additional_skip_platforms=skip_platform, default_timeout=timeout
360
395
  )
361
396
  except SkippedTest as ex:
362
- stats["skipped"] += 1
363
- logging.warning(f"Test skipped: {ex}")
397
+ counter["skipped"] += 1
398
+ logging.warning(f"Test {test_name} skipped: {ex}")
364
399
  except Exception as ex:
365
- stats["failed"] += 1
366
- logging.error(f"Test failed: {ex}")
400
+ counter["failed"] += 1
401
+ logging.error(f"Test {test_name} failed: {ex}")
402
+ if exit_on_error:
403
+ logging.debug("Don't continue testing, a failed test was found.")
404
+ sys.exit(1)
405
+
406
+ if stats:
407
+ echo(
408
+ "Test plan results - "
409
+ + ", ".join((f"{k.title()}: {v}" for k, v in counter.items()))
410
+ )
367
411
 
368
- logging.info(
369
- "Test plan results - "
370
- + ", ".join((f"{k.title()}: {v}" for k, v in stats.items()))
371
- )
372
- if stats["failed"]:
412
+ if counter["failed"]:
373
413
  sys.exit(1)
gha_utils/metadata.py CHANGED
@@ -49,7 +49,7 @@ release_commits_matrix={'commit': ['6f27db47612aaee06fdf08744b09a9f5f6c2'],
49
49
  nuitka_matrix={'entry_point': ['mpm'],
50
50
  'commit': ['346ce664f055fbd042a25ee0b7e96702e95',
51
51
  '6f27db47612aaee06fdf08744b09a9f5f6c2'],
52
- 'os': ['ubuntu-24.04', 'ubuntu-24.04-arm', 'macos-15', 'macos-13', 'windows-2025'],
52
+ 'os': ['ubuntu-24.04-arm', 'ubuntu-24.04', 'macos-15', 'macos-13', 'windows-11-arm', 'windows-2025'],
53
53
  'include': [{'entry_point': 'mpm',
54
54
  'cli_id': 'mpm',
55
55
  'module_id': 'meta_package_manager.__main__',
@@ -61,14 +61,14 @@ nuitka_matrix={'entry_point': ['mpm'],
61
61
  {'commit': '6f27db47612aaee06fdf08744b09a9f5f6c2',
62
62
  'short_sha': '6f27db4',
63
63
  'current_version': '1.9.1'},
64
- {'os': 'ubuntu-24.04',
65
- 'platform_id': 'linux',
66
- 'arch': 'x64',
67
- 'extension': 'bin'},
68
64
  {'os': 'ubuntu-24.04-arm',
69
65
  'platform_id': 'linux',
70
66
  'arch': 'arm64',
71
67
  'extension': 'bin'},
68
+ {'os': 'ubuntu-24.04',
69
+ 'platform_id': 'linux',
70
+ 'arch': 'x64',
71
+ 'extension': 'bin'},
72
72
  {'os': 'macos-15',
73
73
  'platform_id': 'macos',
74
74
  'arch': 'arm64',
@@ -77,20 +77,14 @@ nuitka_matrix={'entry_point': ['mpm'],
77
77
  'platform_id': 'macos',
78
78
  'arch': 'x64',
79
79
  'extension': 'bin'},
80
+ {'os': 'windows-11-arm',
81
+ 'platform_id": 'windows',
82
+ 'arch": 'arm64',
83
+ 'extension": 'exe'},
80
84
  {'os': 'windows-2025',
81
85
  'platform_id': 'windows',
82
86
  'arch': 'x64',
83
87
  'extension': 'exe'},
84
- {'entry_point': 'mpm',
85
- 'commit': '346ce664f055fbd042a25ee0b7e96702e95',
86
- 'os': 'ubuntu-24.04',
87
- 'arch': 'x64',
88
- 'bin_name': 'mpm-linux-x64-build-346ce66.bin'},
89
- {'entry_point': 'mpm',
90
- 'commit': '6f27db47612aaee06fdf08744b09a9f5f6c2',
91
- 'os': 'ubuntu-24.04',
92
- 'arch': 'x64',
93
- 'bin_name': 'mpm-linux-x64-build-6f27db4.bin'},
94
88
  {'entry_point': 'mpm',
95
89
  'commit': '346ce664f055fbd042a25ee0b7e96702e95',
96
90
  'os': 'ubuntu-24.04-arm',
@@ -101,6 +95,16 @@ nuitka_matrix={'entry_point': ['mpm'],
101
95
  'os': 'ubuntu-24.04-arm',
102
96
  'arch': 'arm64',
103
97
  'bin_name': 'mpm-linux-arm64-build-6f27db4.bin'},
98
+ {'entry_point': 'mpm',
99
+ 'commit': '346ce664f055fbd042a25ee0b7e96702e95',
100
+ 'os': 'ubuntu-24.04',
101
+ 'arch': 'x64',
102
+ 'bin_name': 'mpm-linux-x64-build-346ce66.bin'},
103
+ {'entry_point': 'mpm',
104
+ 'commit': '6f27db47612aaee06fdf08744b09a9f5f6c2',
105
+ 'os': 'ubuntu-24.04',
106
+ 'arch': 'x64',
107
+ 'bin_name': 'mpm-linux-x64-build-6f27db4.bin'},
104
108
  {'entry_point': 'mpm',
105
109
  'commit': '346ce664f055fbd042a25ee0b7e96702e95',
106
110
  'os': 'macos-15',
@@ -121,6 +125,16 @@ nuitka_matrix={'entry_point': ['mpm'],
121
125
  'os': 'macos-13',
122
126
  'arch': 'x64',
123
127
  'bin_name': 'mpm-macos-x64-build-6f27db4.bin'},
128
+ {'entry_point': 'mpm',
129
+ 'commit': '346ce664f055fbd042a25ee0b7e96702e95',
130
+ 'os': 'windows-11-arm',
131
+ 'arch': 'arm64',
132
+ 'bin_name': 'mpm-windows-arm64-build-346ce66.bin'},
133
+ {'entry_point': 'mpm',
134
+ 'commit': '6f27db47612aaee06fdf08744b09a9f5f6c2',
135
+ 'os': 'windows-11-arm',
136
+ 'arch': 'arm64',
137
+ 'bin_name': 'mpm-windows-arm64-build-6f27db4.bin'},
124
138
  {'entry_point': 'mpm',
125
139
  'commit': '346ce664f055fbd042a25ee0b7e96702e95',
126
140
  'os': 'windows-2025',
@@ -147,6 +161,7 @@ import json
147
161
  import logging
148
162
  import os
149
163
  import re
164
+ import tomllib
150
165
  from collections.abc import Iterable
151
166
  from enum import StrEnum
152
167
  from functools import cached_property
@@ -155,7 +170,6 @@ from random import randint
155
170
  from re import escape
156
171
  from typing import Any, Final, Iterator, cast
157
172
 
158
- import tomllib
159
173
  from bumpversion.config import get_configuration # type: ignore[import-untyped]
160
174
  from bumpversion.config.files import find_config_file # type: ignore[import-untyped]
161
175
  from bumpversion.show import resolve_name # type: ignore[import-untyped]
@@ -876,10 +890,11 @@ class Metadata:
876
890
  "6f27db47612aaee06fdf08744b09a9f5f6c2",
877
891
  ],
878
892
  "os": [
879
- "ubuntu-24.04",
880
893
  "ubuntu-24.04-arm",
894
+ "ubuntu-24.04",
881
895
  "macos-15",
882
896
  "macos-13",
897
+ "windows-11-arm",
883
898
  "windows-2025",
884
899
  ],
885
900
  "include": [
@@ -901,15 +916,15 @@ class Metadata:
901
916
  "current_version": "1.9.1",
902
917
  },
903
918
  {
904
- "os": "ubuntu-24.04",
919
+ "os": "ubuntu-24.04-arm",
905
920
  "platform_id": "linux",
906
- "arch": "x64",
921
+ "arch": "arm64",
907
922
  "extension": "bin",
908
923
  },
909
924
  {
910
- "os": "ubuntu-24.04-arm",
925
+ "os": "ubuntu-24.04",
911
926
  "platform_id": "linux",
912
- "arch": "arm64",
927
+ "arch": "x64",
913
928
  "extension": "bin",
914
929
  },
915
930
  {
@@ -924,6 +939,12 @@ class Metadata:
924
939
  "arch": "x64",
925
940
  "extension": "bin",
926
941
  },
942
+ {
943
+ "os": "windows-11-arm",
944
+ "platform_id": "windows",
945
+ "arch": "arm64",
946
+ "extension": "exe",
947
+ },
927
948
  {
928
949
  "os": "windows-2025",
929
950
  "platform_id": "windows",
@@ -933,30 +954,30 @@ class Metadata:
933
954
  {
934
955
  "entry_point": "mpm",
935
956
  "commit": "346ce664f055fbd042a25ee0b7e96702e95",
936
- "os": "ubuntu-24.04",
937
- "arch": "x64",
938
- "bin_name": "mpm-linux-x64-build-346ce66.bin",
957
+ "os": "ubuntu-24.04-arm",
958
+ "arch": "arm64",
959
+ "bin_name": "mpm-linux-arm64-build-346ce66.bin",
939
960
  },
940
961
  {
941
962
  "entry_point": "mpm",
942
963
  "commit": "6f27db47612aaee06fdf08744b09a9f5f6c2",
943
- "os": "ubuntu-24.04",
944
- "arch": "x64",
945
- "bin_name": "mpm-linux-x64-build-6f27db4.bin",
964
+ "os": "ubuntu-24.04-arm",
965
+ "arch": "arm64",
966
+ "bin_name": "mpm-linux-arm64-build-6f27db4.bin",
946
967
  },
947
968
  {
948
969
  "entry_point": "mpm",
949
970
  "commit": "346ce664f055fbd042a25ee0b7e96702e95",
950
- "os": "ubuntu-24.04-arm",
951
- "arch": "arm64",
952
- "bin_name": "mpm-linux-arm64-build-346ce66.bin",
971
+ "os": "ubuntu-24.04",
972
+ "arch": "x64",
973
+ "bin_name": "mpm-linux-x64-build-346ce66.bin",
953
974
  },
954
975
  {
955
976
  "entry_point": "mpm",
956
977
  "commit": "6f27db47612aaee06fdf08744b09a9f5f6c2",
957
- "os": "ubuntu-24.04-arm",
958
- "arch": "arm64",
959
- "bin_name": "mpm-linux-arm64-build-6f27db4.bin",
978
+ "os": "ubuntu-24.04",
979
+ "arch": "x64",
980
+ "bin_name": "mpm-linux-x64-build-6f27db4.bin",
960
981
  },
961
982
  {
962
983
  "entry_point": "mpm",
@@ -986,6 +1007,20 @@ class Metadata:
986
1007
  "arch": "x64",
987
1008
  "bin_name": "mpm-macos-x64-build-6f27db4.bin",
988
1009
  },
1010
+ {
1011
+ "entry_point": "mpm",
1012
+ "commit": "346ce664f055fbd042a25ee0b7e96702e95",
1013
+ "os": "windows-11-arm",
1014
+ "arch": "arm64",
1015
+ "bin_name": "mpm-windows-arm64-build-346ce66.bin",
1016
+ },
1017
+ {
1018
+ "entry_point": "mpm",
1019
+ "commit": "6f27db47612aaee06fdf08744b09a9f5f6c2",
1020
+ "os": "windows-11-arm",
1021
+ "arch": "arm64",
1022
+ "bin_name": "mpm-windows-arm64-build-6f27db4.bin",
1023
+ },
989
1024
  {
990
1025
  "entry_point": "mpm",
991
1026
  "commit": "346ce664f055fbd042a25ee0b7e96702e95",
@@ -1009,18 +1044,17 @@ class Metadata:
1009
1044
 
1010
1045
  matrix = Matrix()
1011
1046
 
1012
- # Run the compilation only on the latest supported version of each OS. The
1013
- # exception is macOS, as macos-15 is arm64-only and macos-13 is x64-only, so we
1014
- # need both to target the two architectures.
1015
- # XXX arm64 Windows is planned for the future:
1016
- # https://github.com/actions/runner-images/issues/10820
1047
+ # Run the compilation only on the latest supported version of each OS. Note
1048
+ # that macOS and Windows do not have the latest version available for each
1049
+ # architecture.
1017
1050
  matrix.add_variation(
1018
1051
  "os",
1019
1052
  (
1020
- "ubuntu-24.04", # x64
1021
1053
  "ubuntu-24.04-arm", # arm64
1054
+ "ubuntu-24.04", # x64
1022
1055
  "macos-15", # arm64
1023
1056
  "macos-13", # x64
1057
+ "windows-11-arm", # arm64
1024
1058
  "windows-2025", # x64
1025
1059
  ),
1026
1060
  )
@@ -1057,20 +1091,20 @@ class Metadata:
1057
1091
 
1058
1092
  # Add platform-specific variables.
1059
1093
  # Arch values are inspired from those specified for self-hosted runners:
1060
- # https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#architectures
1061
- # Arch is not a matrix variant because support is not widely distributed
1062
- # between different OS.
1094
+ # https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/supported-architectures-and-operating-systems-for-self-hosted-runners#supported-processor-architectures
1095
+ # XXX Maybe we should just adopt target triple:
1096
+ # https://mcyoung.xyz/2025/04/14/target-triples/
1063
1097
  matrix.add_includes(
1064
1098
  {
1065
- "os": "ubuntu-24.04",
1099
+ "os": "ubuntu-24.04-arm",
1066
1100
  "platform_id": "linux",
1067
- "arch": "x64",
1101
+ "arch": "arm64",
1068
1102
  "extension": "bin",
1069
1103
  },
1070
1104
  {
1071
- "os": "ubuntu-24.04-arm",
1105
+ "os": "ubuntu-24.04",
1072
1106
  "platform_id": "linux",
1073
- "arch": "arm64",
1107
+ "arch": "x64",
1074
1108
  "extension": "bin",
1075
1109
  },
1076
1110
  {
@@ -1085,6 +1119,12 @@ class Metadata:
1085
1119
  "arch": "x64",
1086
1120
  "extension": "bin",
1087
1121
  },
1122
+ {
1123
+ "os": "windows-11-arm",
1124
+ "platform_id": "windows",
1125
+ "arch": "arm64",
1126
+ "extension": "exe",
1127
+ },
1088
1128
  {
1089
1129
  "os": "windows-2025",
1090
1130
  "platform_id": "windows",
gha_utils/test_plan.py CHANGED
@@ -255,7 +255,7 @@ class CLITestCase:
255
255
 
256
256
  elif field_id.endswith("_regex_matches"):
257
257
  for regex in field_data:
258
- logging.info(f"Check if {name} matches {sub_string!r}")
258
+ logging.info(f"Check if {name} matches {regex!r}")
259
259
  if not regex.search(output):
260
260
  raise AssertionError(f"{name} does not match regex {regex}")
261
261
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gha-utils
3
- Version: 4.15.6
3
+ Version: 4.16.0
4
4
  Summary: ⚙️ CLI helpers for GitHub Actions + reuseable workflows
5
5
  Author-email: Kevin Deldycke <kevin@deldycke.com>
6
6
  Project-URL: Homepage, https://github.com/kdeldycke/workflows
@@ -48,7 +48,7 @@ Requires-Dist: boltons>=24.0.0
48
48
  Requires-Dist: bump-my-version<1.1.1,>=0.32.2
49
49
  Requires-Dist: click-extra~=4.15.0
50
50
  Requires-Dist: extra-platforms~=3.1.0
51
- Requires-Dist: packaging~=24.1
51
+ Requires-Dist: packaging~=25.0
52
52
  Requires-Dist: PyDriller~=2.6
53
53
  Requires-Dist: pyproject-metadata~=0.9.0
54
54
  Requires-Dist: pyyaml~=6.0.0
@@ -307,7 +307,7 @@ Now re-run your actions and they should be able to update the workflow files in
307
307
 
308
308
  ### Release management
309
309
 
310
- It turns out [Release Engineering is a full-time job, and full of edge-cases](https://blog.axo.dev/2023/02/cargo-dist).
310
+ It turns out [Release Engineering is a full-time job, and full of edge-cases](https://web.archive.org/web/20250126113318/https://blog.axo.dev/2023/02/cargo-dist).
311
311
 
312
312
  Things have improved a lot in the Python ecosystem with `uv`. But there are still a lot of manual steps to do to release.
313
313
 
@@ -0,0 +1,14 @@
1
+ gha_utils/__init__.py,sha256=dU1v_nE4J435yv5fPvnuQzfu5zhfYS8m31Ck8gY1r_U,866
2
+ gha_utils/__main__.py,sha256=Dck9BjpLXmIRS83k0mghAMcYVYiMiFLltQdfRuMSP_Q,1703
3
+ gha_utils/changelog.py,sha256=JR7iQrWjLoIOpVNe6iXQSyEii82_hM_zrYpR7QO_Uxo,5777
4
+ gha_utils/cli.py,sha256=ZCfGZl7yE7dB_0Tsw0Znui0N80cfUDhMcPuoZIikSxw,13966
5
+ gha_utils/mailmap.py,sha256=naUqJYJnE3fLTjju1nd6WMm7ODiSaI2SHuJxRtmaFWs,6269
6
+ gha_utils/matrix.py,sha256=_afJD0K-xZLNxwykVnUhD0Gj9cdO0Z43g3VHa-q_tkI,11941
7
+ gha_utils/metadata.py,sha256=hJp_NHZh6zjQU_I3Rh5Xm-ecFZFDU2tQsGHMHomOEY0,50633
8
+ gha_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ gha_utils/test_plan.py,sha256=PZbWskpop02eiobg2g9GRWU3UDDfKUMhwJCvv6p9XsU,13144
10
+ gha_utils-4.16.0.dist-info/METADATA,sha256=Fo8DhBLPKg5Kfe3aUZkoIt2QThRvP0E84903pw572HI,21149
11
+ gha_utils-4.16.0.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
12
+ gha_utils-4.16.0.dist-info/entry_points.txt,sha256=8bJOwQYf9ZqsLhBR6gUCzvwLNI9f8tiiBrJ3AR0EK4o,54
13
+ gha_utils-4.16.0.dist-info/top_level.txt,sha256=C94Blb61YkkyPBwCdM3J_JPDjWH0lnKa5nGZeZ5M6yE,10
14
+ gha_utils-4.16.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.1)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,14 +0,0 @@
1
- gha_utils/__init__.py,sha256=1qDATf4vm-Wr_OY4TSAcExU4Gz02lpstGRA3TTFbU9U,866
2
- gha_utils/__main__.py,sha256=Dck9BjpLXmIRS83k0mghAMcYVYiMiFLltQdfRuMSP_Q,1703
3
- gha_utils/changelog.py,sha256=JR7iQrWjLoIOpVNe6iXQSyEii82_hM_zrYpR7QO_Uxo,5777
4
- gha_utils/cli.py,sha256=rE9sjDj4iFqzyj8PwwSt8JkDSgULltm9qvUgXOqGtT4,12858
5
- gha_utils/mailmap.py,sha256=naUqJYJnE3fLTjju1nd6WMm7ODiSaI2SHuJxRtmaFWs,6269
6
- gha_utils/matrix.py,sha256=_afJD0K-xZLNxwykVnUhD0Gj9cdO0Z43g3VHa-q_tkI,11941
7
- gha_utils/metadata.py,sha256=CCUVH2RXG9PdB1F5GA7HUO0MSBpxq0BGvVnY8qY4ZXA,48705
8
- gha_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- gha_utils/test_plan.py,sha256=57qwIaYfOLbyVKA5X4wldAKePxfvclK7lut--If2fSA,13149
10
- gha_utils-4.15.6.dist-info/METADATA,sha256=XLS9FmukBl_iAc4dISRAjlgUMSle3c55oUMMkeTknr8,21106
11
- gha_utils-4.15.6.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
12
- gha_utils-4.15.6.dist-info/entry_points.txt,sha256=8bJOwQYf9ZqsLhBR6gUCzvwLNI9f8tiiBrJ3AR0EK4o,54
13
- gha_utils-4.15.6.dist-info/top_level.txt,sha256=C94Blb61YkkyPBwCdM3J_JPDjWH0lnKa5nGZeZ5M6yE,10
14
- gha_utils-4.15.6.dist-info/RECORD,,