taskcluster-taskgraph 19.2.0__tar.gz → 19.2.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 (269) hide show
  1. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/CHANGELOG.md +6 -0
  2. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/PKG-INFO +1 -1
  3. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/pyproject.toml +1 -1
  4. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/schema.py +4 -2
  5. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_schema.py +20 -7
  6. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/uv.lock +1 -1
  7. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.codespell-ignore-words.txt +0 -0
  8. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/CODEOWNERS +0 -0
  9. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/dependabot.yml +0 -0
  10. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/workflows/codeql-analysis.yml +0 -0
  11. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/workflows/pre-commit-autoupdate.yml +0 -0
  12. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/workflows/pre-commit.yml +0 -0
  13. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.github/workflows/pypi-publish.yml +0 -0
  14. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.gitignore +0 -0
  15. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.pre-commit-config.yaml +0 -0
  16. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.readthedocs.yaml +0 -0
  17. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.taskcluster.yml +0 -0
  18. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/.yamllint +0 -0
  19. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/CODE_OF_CONDUCT.md +0 -0
  20. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/CONTRIBUTING.rst +0 -0
  21. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/LICENSE +0 -0
  22. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/Makefile +0 -0
  23. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/README.rst +0 -0
  24. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/index.rst +0 -0
  25. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/kind.rst +0 -0
  26. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/loading.rst +0 -0
  27. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/optimization.rst +0 -0
  28. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/overview.rst +0 -0
  29. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/scopes.rst +0 -0
  30. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/task-graphs.rst +0 -0
  31. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/concepts/transforms.rst +0 -0
  32. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/conf.py +0 -0
  33. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/contributing.rst +0 -0
  34. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/glossary.rst +0 -0
  35. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/bootstrap-taskgraph.rst +0 -0
  36. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/create-actions.rst +0 -0
  37. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/create-tasks.rst +0 -0
  38. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/debugging.rst +0 -0
  39. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/docker.rst +0 -0
  40. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/index.rst +0 -0
  41. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/load-task-locally.rst +0 -0
  42. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/resolve-keyed-by.rst +0 -0
  43. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/run-locally.rst +0 -0
  44. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/send-notifications.rst +0 -0
  45. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/howto/use-fetches.rst +0 -0
  46. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/index.rst +0 -0
  47. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/cli.rst +0 -0
  48. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/index.rst +0 -0
  49. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/migrations.rst +0 -0
  50. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/optimization-strategies.rst +0 -0
  51. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/parameters.rst +0 -0
  52. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/modules.rst +0 -0
  53. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.actions.rst +0 -0
  54. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.loader.rst +0 -0
  55. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.optimize.rst +0 -0
  56. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.rst +0 -0
  57. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.transforms.rst +0 -0
  58. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.transforms.run.rst +0 -0
  59. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/source/taskgraph.util.rst +0 -0
  60. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/transforms/chunking.rst +0 -0
  61. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/transforms/from_deps.rst +0 -0
  62. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/transforms/index.rst +0 -0
  63. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/transforms/matrix.rst +0 -0
  64. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/reference/transforms/task_context.rst +0 -0
  65. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/tutorials/connecting-taskcluster.rst +0 -0
  66. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/tutorials/creating-a-task-graph.rst +0 -0
  67. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/tutorials/example-taskcluster.yml +0 -0
  68. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/tutorials/getting-started.rst +0 -0
  69. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/docs/tutorials/index.rst +0 -0
  70. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/make.bat +0 -0
  71. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/pytest-taskgraph/README.md +0 -0
  72. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/pytest-taskgraph/pyproject.toml +0 -0
  73. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/pytest-taskgraph/src/pytest_taskgraph/__init__.py +0 -0
  74. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/gen.py +0 -0
  75. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/vcs.py +0 -0
  76. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/sphinx-taskgraph/README.md +0 -0
  77. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/sphinx-taskgraph/pyproject.toml +0 -0
  78. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/sphinx-taskgraph/src/sphinx_taskgraph/__init__.py +0 -0
  79. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/packages/sphinx-taskgraph/src/sphinx_taskgraph/autoschema.py +0 -0
  80. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/__init__.py +0 -0
  81. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/__init__.py +0 -0
  82. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/add_new_jobs.py +0 -0
  83. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/cancel.py +0 -0
  84. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/cancel_all.py +0 -0
  85. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/rebuild_cached_tasks.py +0 -0
  86. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/registry.py +0 -0
  87. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/retrigger.py +0 -0
  88. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/actions/util.py +0 -0
  89. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/config.py +0 -0
  90. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/create.py +0 -0
  91. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/decision.py +0 -0
  92. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/docker.py +0 -0
  93. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/filter_tasks.py +0 -0
  94. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/generator.py +0 -0
  95. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/graph.py +0 -0
  96. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/loader/__init__.py +0 -0
  97. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/loader/default.py +0 -0
  98. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/loader/transform.py +0 -0
  99. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/main.py +0 -0
  100. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/morph.py +0 -0
  101. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/optimize/__init__.py +0 -0
  102. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/optimize/base.py +0 -0
  103. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/optimize/strategies.py +0 -0
  104. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/parameters.py +0 -0
  105. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/run-task/fetch-content +0 -0
  106. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/run-task/hgrc +0 -0
  107. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/run-task/robustcheckout.py +0 -0
  108. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/run-task/run-task +0 -0
  109. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/target_tasks.py +0 -0
  110. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/task.py +0 -0
  111. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/taskgraph.py +0 -0
  112. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/__init__.py +0 -0
  113. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/base.py +0 -0
  114. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/cached_tasks.py +0 -0
  115. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/chunking.py +0 -0
  116. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/code_review.py +0 -0
  117. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/docker_image.py +0 -0
  118. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/fetch.py +0 -0
  119. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/from_deps.py +0 -0
  120. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/matrix.py +0 -0
  121. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/notify.py +0 -0
  122. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/run/__init__.py +0 -0
  123. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/run/common.py +0 -0
  124. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/run/index_search.py +0 -0
  125. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/run/run_task.py +0 -0
  126. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/run/toolchain.py +0 -0
  127. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/task.py +0 -0
  128. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/transforms/task_context.py +0 -0
  129. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/__init__.py +0 -0
  130. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/archive.py +0 -0
  131. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/attributes.py +0 -0
  132. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/cached_tasks.py +0 -0
  133. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/caches.py +0 -0
  134. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/copy.py +0 -0
  135. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/dependencies.py +0 -0
  136. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/docker.py +0 -0
  137. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/hash.py +0 -0
  138. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/json.py +0 -0
  139. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/keyed_by.py +0 -0
  140. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/parameterization.py +0 -0
  141. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/path.py +0 -0
  142. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/python_path.py +0 -0
  143. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/readonlydict.py +0 -0
  144. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/set_name.py +0 -0
  145. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/shell.py +0 -0
  146. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/taskcluster.py +0 -0
  147. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/taskgraph.py +0 -0
  148. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/templates.py +0 -0
  149. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/time.py +0 -0
  150. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/treeherder.py +0 -0
  151. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/vcs.py +0 -0
  152. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/verify.py +0 -0
  153. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/workertypes.py +0 -0
  154. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/src/taskgraph/util/yaml.py +0 -0
  155. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/config.yml +0 -0
  156. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/REGISTRY +0 -0
  157. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/decision/Dockerfile +0 -0
  158. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/decision/HASH +0 -0
  159. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/decision/README.md +0 -0
  160. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/decision/VERSION +0 -0
  161. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/decision/system-setup.sh +0 -0
  162. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/fetch/Dockerfile +0 -0
  163. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/image_builder/README.rst +0 -0
  164. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/index-task/Dockerfile +0 -0
  165. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/index-task/README +0 -0
  166. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/index-task/insert-indexes.js +0 -0
  167. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/index-task/package.json +0 -0
  168. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/index-task/yarn.lock +0 -0
  169. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/python/Dockerfile +0 -0
  170. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/run-task/Dockerfile +0 -0
  171. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/run-task/system-setup.sh +0 -0
  172. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/skopeo/Dockerfile +0 -0
  173. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/skopeo/policy.json +0 -0
  174. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/docker/skopeo/push_image.sh +0 -0
  175. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/check/kind.yml +0 -0
  176. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/codecov/kind.yml +0 -0
  177. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/complete/kind.yml +0 -0
  178. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/doc/kind.yml +0 -0
  179. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/docker-image/kind.yml +0 -0
  180. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/fetch/kind.yml +0 -0
  181. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/push-image/kind.yml +0 -0
  182. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/test/kind.yml +0 -0
  183. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/test/linux.yml +0 -0
  184. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/kinds/test/windows.yml +0 -0
  185. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/scripts/codecov-upload.py +0 -0
  186. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/scripts/external_tools/tooltool.py +0 -0
  187. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/self_taskgraph/__init__.py +0 -0
  188. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/self_taskgraph/custom_parameters.py +0 -0
  189. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/self_taskgraph/custom_target_tasks.py +0 -0
  190. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/self_taskgraph/transforms/add_pr_route.py +0 -0
  191. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/self_taskgraph/transforms/push_image.py +0 -0
  192. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/test/params/main-repo-pull-request-untrusted.yml +0 -0
  193. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/test/params/main-repo-pull-request.yml +0 -0
  194. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/test/params/main-repo-push.yml +0 -0
  195. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/test/params/main-repo-release-pytest-taskgraph.yml +0 -0
  196. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/taskcluster/test/params/main-repo-release-taskcluster-taskgraph.yml +0 -0
  197. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/cookiecutter.json +0 -0
  198. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/hooks/post_gen_project.py +0 -0
  199. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster/config.yml +0 -0
  200. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster/docker/linux/Dockerfile +0 -0
  201. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster/kinds/docker-image/kind.yml +0 -0
  202. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster/kinds/hello/kind.yml +0 -0
  203. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster/{{cookiecutter.project_slug}}_taskgraph/transforms/hello.py +0 -0
  204. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/template/{{cookiecutter.project_name}}/taskcluster.github.yml +0 -0
  205. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/__init__.py +0 -0
  206. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/automationrelevance.json +0 -0
  207. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/conftest.py +0 -0
  208. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/task_context.yml +0 -0
  209. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/config.yml +0 -0
  210. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/docker/hello-world/Dockerfile +0 -0
  211. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/docker/hello-world-tag/Dockerfile +0 -0
  212. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/docker/hello-world-tag/REGISTRY +0 -0
  213. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/docker/hello-world-tag/VERSION +0 -0
  214. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/kinds/docker-image/kind.yml +0 -0
  215. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/scripts/toolchain/run.ps1 +0 -0
  216. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/scripts/toolchain/run.sh +0 -0
  217. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/taskcluster/test_taskgraph/transforms/foo.py +0 -0
  218. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/data/testmod/thing.py +0 -0
  219. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/mockedopen.py +0 -0
  220. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_actions_rebuild_cached_tasks.py +0 -0
  221. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_actions_registry.py +0 -0
  222. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_config.py +0 -0
  223. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_create.py +0 -0
  224. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_decision.py +0 -0
  225. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_docker.py +0 -0
  226. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_generator.py +0 -0
  227. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_graph.py +0 -0
  228. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_main.py +0 -0
  229. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_morph.py +0 -0
  230. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_optimize.py +0 -0
  231. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_optimize_strategies.py +0 -0
  232. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_parameters.py +0 -0
  233. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_scripts_fetch_content.py +0 -0
  234. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_scripts_run_task.py +0 -0
  235. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_target_tasks.py +0 -0
  236. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_taskgraph.py +0 -0
  237. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transform_chunking.py +0 -0
  238. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transform_docker_image.py +0 -0
  239. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transform_task_context.py +0 -0
  240. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_base.py +0 -0
  241. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_cached_tasks.py +0 -0
  242. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_fetch.py +0 -0
  243. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_from_deps.py +0 -0
  244. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_matrix.py +0 -0
  245. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_notify.py +0 -0
  246. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_run.py +0 -0
  247. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_run_run_task.py +0 -0
  248. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_run_toolchain.py +0 -0
  249. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_transforms_task.py +0 -0
  250. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_archive.py +0 -0
  251. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_attributes.py +0 -0
  252. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_cached_tasks.py +0 -0
  253. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_copy.py +0 -0
  254. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_dependencies.py +0 -0
  255. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_docker.py +0 -0
  256. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_json.py +0 -0
  257. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_keyed_by.py +0 -0
  258. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_parameterization.py +0 -0
  259. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_path.py +0 -0
  260. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_python_path.py +0 -0
  261. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_readonlydict.py +0 -0
  262. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_taskcluster.py +0 -0
  263. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_templates.py +0 -0
  264. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_time.py +0 -0
  265. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_treeherder.py +0 -0
  266. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_vcs.py +0 -0
  267. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_verify.py +0 -0
  268. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_workertypes.py +0 -0
  269. {taskcluster_taskgraph-19.2.0 → taskcluster_taskgraph-19.2.1}/test/test_util_yaml.py +0 -0
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## [19.2.1] - 2026-02-19
4
+
5
+ ### Fixed
6
+
7
+ - Loosen `optionally_keyed_by` constraints for msgspec compatibility
8
+
3
9
  ## [19.2.0] - 2026-02-18
4
10
 
5
11
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskcluster-taskgraph
3
- Version: 19.2.0
3
+ Version: 19.2.1
4
4
  Summary: Build taskcluster taskgraphs
5
5
  Project-URL: Repository, https://github.com/taskcluster/taskgraph
6
6
  Project-URL: Issues, https://github.com/taskcluster/taskgraph/issues
@@ -1,7 +1,7 @@
1
1
  ### Project
2
2
  [project]
3
3
  name = "taskcluster-taskgraph"
4
- version = "19.2.0"
4
+ version = "19.2.1"
5
5
  description = "Build taskcluster taskgraphs"
6
6
  readme = "README.rst"
7
7
  authors = [
@@ -6,7 +6,7 @@ import pprint
6
6
  import re
7
7
  from collections.abc import Mapping
8
8
  from functools import reduce
9
- from typing import Literal, Optional, Union
9
+ from typing import Any, Literal, Optional, Union
10
10
 
11
11
  import msgspec
12
12
  import voluptuous
@@ -85,9 +85,11 @@ def optionally_keyed_by(*arguments, use_msgspec=False):
85
85
  if use_msgspec:
86
86
  # msgspec implementation - return type hints
87
87
  _type = arguments[-1]
88
+ if _type is object:
89
+ return object
88
90
  fields = arguments[:-1]
89
91
  bykeys = [Literal[f"by-{field}"] for field in fields]
90
- return Union[_type, dict[UnionTypes(*bykeys), dict[str, _type]]]
92
+ return Union[_type, dict[UnionTypes(*bykeys), dict[str, Any]]]
91
93
  else:
92
94
  # voluptuous implementation - return validator function
93
95
  schema = arguments[-1]
@@ -290,8 +290,10 @@ def test_optionally_keyed_by():
290
290
  "by-foo": {"a": "b", "c": "d"}
291
291
  }
292
292
 
293
- with pytest.raises(msgspec.ValidationError):
294
- msgspec.convert({"by-foo": {"a": 1, "c": "d"}}, typ)
293
+ # Inner dict values are Any, so mixed types are accepted
294
+ assert msgspec.convert({"by-foo": {"a": 1, "c": "d"}}, typ) == {
295
+ "by-foo": {"a": 1, "c": "d"}
296
+ }
295
297
 
296
298
  with pytest.raises(msgspec.ValidationError):
297
299
  msgspec.convert({"by-bar": {"a": "b"}}, typ)
@@ -305,11 +307,22 @@ def test_optionally_keyed_by_mulitple_keys():
305
307
  }
306
308
  assert msgspec.convert({"by-bar": {"x": "y"}}, typ) == {"by-bar": {"x": "y"}}
307
309
 
308
- with pytest.raises(msgspec.ValidationError):
309
- msgspec.convert({"by-foo": {"a": 123, "c": "d"}}, typ)
310
-
311
- with pytest.raises(msgspec.ValidationError):
312
- msgspec.convert({"by-bar": {"a": 1}}, typ)
310
+ # Inner dict values are Any, so mixed types are accepted
311
+ assert msgspec.convert({"by-foo": {"a": 123, "c": "d"}}, typ) == {
312
+ "by-foo": {"a": 123, "c": "d"}
313
+ }
314
+ assert msgspec.convert({"by-bar": {"a": 1}}, typ) == {"by-bar": {"a": 1}}
313
315
 
314
316
  with pytest.raises(msgspec.ValidationError):
315
317
  msgspec.convert({"by-unknown": {"a": "b"}}, typ)
318
+
319
+
320
+ def test_optionally_keyed_by_object_passthrough():
321
+ """When the type argument is `object`, optionally_keyed_by returns object directly."""
322
+ typ = optionally_keyed_by("foo", object, use_msgspec=True)
323
+ assert typ is object
324
+ # object accepts anything via msgspec.convert
325
+ assert msgspec.convert("hello", typ) == "hello"
326
+ assert msgspec.convert(42, typ) == 42
327
+ assert msgspec.convert({"by-foo": {"a": "b"}}, typ) == {"by-foo": {"a": "b"}}
328
+ assert msgspec.convert({"arbitrary": "dict"}, typ) == {"arbitrary": "dict"}
@@ -2587,7 +2587,7 @@ wheels = [
2587
2587
 
2588
2588
  [[package]]
2589
2589
  name = "taskcluster-taskgraph"
2590
- version = "19.2.0"
2590
+ version = "19.2.1"
2591
2591
  source = { editable = "." }
2592
2592
  dependencies = [
2593
2593
  { name = "appdirs" },