scriptworker 63.6.0__tar.gz → 63.7.1__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 (30) hide show
  1. {scriptworker-63.6.0 → scriptworker-63.7.1}/HISTORY.rst +24 -0
  2. {scriptworker-63.6.0 → scriptworker-63.7.1}/PKG-INFO +1 -1
  3. {scriptworker-63.6.0 → scriptworker-63.7.1}/pyproject.toml +1 -1
  4. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/cot/verify.py +23 -10
  5. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/utils.py +2 -0
  6. {scriptworker-63.6.0 → scriptworker-63.7.1}/.gitignore +0 -0
  7. {scriptworker-63.6.0 → scriptworker-63.7.1}/CONTRIBUTING.rst +0 -0
  8. {scriptworker-63.6.0 → scriptworker-63.7.1}/LICENSE +0 -0
  9. {scriptworker-63.6.0 → scriptworker-63.7.1}/README.rst +0 -0
  10. {scriptworker-63.6.0 → scriptworker-63.7.1}/renovate.json +0 -0
  11. {scriptworker-63.6.0 → scriptworker-63.7.1}/scripts/gen_ed25519_key.py +0 -0
  12. {scriptworker-63.6.0 → scriptworker-63.7.1}/scriptworker.yaml.tmpl +0 -0
  13. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/__init__.py +0 -0
  14. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/artifacts.py +0 -0
  15. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/client.py +0 -0
  16. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/config.py +0 -0
  17. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/constants.py +0 -0
  18. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/context.py +0 -0
  19. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/cot/__init__.py +0 -0
  20. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/cot/generate.py +0 -0
  21. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/data/cot_v1_schema.json +0 -0
  22. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/data/scriptworker_task_schema.json +0 -0
  23. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/ed25519.py +0 -0
  24. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/exceptions.py +0 -0
  25. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/github.py +0 -0
  26. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/log.py +0 -0
  27. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/task.py +0 -0
  28. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/task_process.py +0 -0
  29. {scriptworker-63.6.0 → scriptworker-63.7.1}/src/scriptworker/worker.py +0 -0
  30. {scriptworker-63.6.0 → scriptworker-63.7.1}/tox.ini +0 -0
@@ -4,6 +4,30 @@ Change Log
4
4
  All notable changes to this project will be documented in this file.
5
5
  This project adheres to `Semantic Versioning <http://semver.org/>`__.
6
6
 
7
+ 63.7.1 - 2026-10-27
8
+ -------------------
9
+
10
+ Fixed
11
+ ~~~~~
12
+
13
+ - CoT verification crash due to long github CSP response header (bug 2085468)
14
+
15
+ 63.7.0 - 2026-10-13
16
+ -------------------
17
+
18
+ Added
19
+ ~~~~~
20
+
21
+ - take a git project's scm level from the task branch (#839)
22
+
23
+ 63.6.1 - 2026-10-08
24
+ -------------------
25
+
26
+ Fixed
27
+ ~~~~~
28
+
29
+ - CoT verification error with Git-mirrored task triggered via action
30
+
7
31
  63.6.0 - 2026-10-06
8
32
  -------------------
9
33
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: scriptworker
3
- Version: 63.6.0
3
+ Version: 63.7.1
4
4
  Summary: Taskcluster scriptworker
5
5
  Author-email: Mozilla Release Engineering <releng@mozilla.com>
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "scriptworker"
3
- version = "63.6.0"
3
+ version = "63.7.1"
4
4
  description = "Taskcluster scriptworker"
5
5
  authors = [
6
6
  { name = "Mozilla Release Engineering", email = "releng@mozilla.com" },
@@ -1031,7 +1031,16 @@ async def get_pushlog_info(decision_link):
1031
1031
 
1032
1032
 
1033
1033
  # get_scm_level {{{1
1034
- async def get_scm_level(context, project):
1034
+ def _branch_matches(pattern, branch):
1035
+ """Whether ``branch`` matches a ``projects.yml`` branch name, which may end in ``*``."""
1036
+ if pattern == "*":
1037
+ return True
1038
+ if pattern.endswith("*"):
1039
+ return branch.startswith(pattern[:-1])
1040
+ return branch == pattern
1041
+
1042
+
1043
+ async def get_scm_level(context, project, branch=None):
1035
1044
  """Get the scm level for a project from ``projects.yml``.
1036
1045
 
1037
1046
  We define all known projects in ``projects.yml``. Let's make sure we have
@@ -1043,6 +1052,8 @@ async def get_scm_level(context, project):
1043
1052
  Args:
1044
1053
  context (scriptworker.context.Context): the scriptworker context
1045
1054
  project (str): the project to get the scm level for.
1055
+ branch (str, optional): the branch the task runs on. Required for git
1056
+ projects, where each branch has its own level. Ignored for hg.
1046
1057
 
1047
1058
  Returns:
1048
1059
  str: the level of the project, as a string.
@@ -1053,14 +1064,16 @@ async def get_scm_level(context, project):
1053
1064
  if config["repo_type"] == "hg":
1054
1065
  return config["access"].replace("scm_level_", "")
1055
1066
  elif config["repo_type"] == "git":
1056
- # TODO: we should be using the branch that the task is actually
1057
- # being run on
1058
- default_branch = config.get("default_branch", "main")
1059
- for branch in config["branches"]:
1060
- if branch["name"] == default_branch:
1061
- return str(branch["level"])
1067
+ if branch is None:
1068
+ raise ValueError("{} is a git project, so a branch is required to find its level".format(project))
1069
+ if branch.startswith("refs/heads/"):
1070
+ branch = branch[len("refs/heads/") :]
1071
+ # the first matching entry wins, like fxci-config's Project.get_branch()
1072
+ for branch_config in config["branches"]:
1073
+ if _branch_matches(branch_config["name"], branch):
1074
+ return str(branch_config["level"])
1062
1075
 
1063
- raise ValueError("Can't find level for project {}".format(project))
1076
+ raise ValueError("Can't find level for project {} on branch {}".format(project, branch))
1064
1077
 
1065
1078
 
1066
1079
  async def _get_additional_hg_action_jsone_context(parent_link, decision_link):
@@ -1190,7 +1203,7 @@ async def _get_additional_git_cron_jsone_context(decision_link):
1190
1203
  "sender": {"login": user},
1191
1204
  },
1192
1205
  # Taskgraph cron contexts mirror hg-push contexts
1193
- "repository": {"url": repo, "project": repo_name, "level": await get_scm_level(decision_link.context, repo_name), "type": "git"},
1206
+ "repository": {"url": repo, "project": repo_name, "level": await get_scm_level(decision_link.context, repo_name, branch), "type": "git"},
1194
1207
  "push": {"revision": revision, "branch": branch},
1195
1208
  }
1196
1209
 
@@ -2009,7 +2022,7 @@ def _get_parent_repo(chain, repos):
2009
2022
  found, ``chain``'s repo; any mismatch is reported by the sibling check.
2010
2023
 
2011
2024
  """
2012
- parent_repos = {repo for obj, repo in repos.items() if obj.decision_task_id == chain.decision_task_id and obj.task_type in PARENT_TASK_TYPES}
2025
+ parent_repos = {repo for obj, repo in repos.items() if obj.task_id == chain.decision_task_id and obj.task_type in PARENT_TASK_TYPES}
2013
2026
  if len(parent_repos) == 1:
2014
2027
  return parent_repos.pop()
2015
2028
  return repos[chain]
@@ -44,6 +44,8 @@ log = logging.getLogger(__name__)
44
44
  def scriptworker_session(*args, **kwargs):
45
45
  """Return an ``aiohttp.ClientSession`` with the scriptworker User-Agent header set."""
46
46
  kwargs.setdefault("headers", {}).setdefault("User-Agent", f"scriptworker {scriptworker.__version__}")
47
+ kwargs.setdefault("max_line_size", 8190 * 2)
48
+ kwargs.setdefault("max_field_size", 8190 * 2)
47
49
  return aiohttp.ClientSession(*args, **kwargs)
48
50
 
49
51
 
File without changes
File without changes
File without changes
File without changes