taskcluster-taskgraph 24.2.2__tar.gz → 24.2.3__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 (270) hide show
  1. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/CHANGELOG.md +6 -0
  2. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/PKG-INFO +1 -1
  3. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/pyproject.toml +1 -1
  4. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/run-task/robustcheckout.py +78 -6
  5. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/uv.lock +1 -1
  6. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.codespell-ignore-words.txt +0 -0
  7. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.github/CODEOWNERS +0 -0
  8. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.github/workflows/codeql-analysis.yml +0 -0
  9. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.github/workflows/codspeed.yml +0 -0
  10. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.github/workflows/pypi-publish.yml +0 -0
  11. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.gitignore +0 -0
  12. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.pre-commit-config.yaml +0 -0
  13. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.readthedocs.yaml +0 -0
  14. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.taskcluster.yml +0 -0
  15. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/.yamllint +0 -0
  16. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/CODE_OF_CONDUCT.md +0 -0
  17. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/CONTRIBUTING.rst +0 -0
  18. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/LICENSE +0 -0
  19. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/Makefile +0 -0
  20. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/README.rst +0 -0
  21. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/index.rst +0 -0
  22. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/kind.rst +0 -0
  23. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/loading.rst +0 -0
  24. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/optimization.rst +0 -0
  25. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/overview.rst +0 -0
  26. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/scopes.rst +0 -0
  27. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/task-graphs.rst +0 -0
  28. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/concepts/transforms.rst +0 -0
  29. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/conf.py +0 -0
  30. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/contributing.rst +0 -0
  31. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/glossary.rst +0 -0
  32. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/bootstrap-taskgraph.rst +0 -0
  33. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/create-actions.rst +0 -0
  34. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/create-tasks.rst +0 -0
  35. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/debugging.rst +0 -0
  36. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/define-schemas.rst +0 -0
  37. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/docker.rst +0 -0
  38. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/index.rst +0 -0
  39. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/load-task-locally.rst +0 -0
  40. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/resolve-keyed-by.rst +0 -0
  41. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/run-locally.rst +0 -0
  42. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/send-notifications.rst +0 -0
  43. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/howto/use-fetches.rst +0 -0
  44. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/index.rst +0 -0
  45. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/cli.rst +0 -0
  46. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/index.rst +0 -0
  47. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/migrations.rst +0 -0
  48. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/optimization-strategies.rst +0 -0
  49. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/parameters.rst +0 -0
  50. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/modules.rst +0 -0
  51. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.actions.rst +0 -0
  52. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.loader.rst +0 -0
  53. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.optimize.rst +0 -0
  54. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.rst +0 -0
  55. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.transforms.rst +0 -0
  56. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.transforms.run.rst +0 -0
  57. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/source/taskgraph.util.rst +0 -0
  58. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/transforms/chunking.rst +0 -0
  59. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/transforms/from_deps.rst +0 -0
  60. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/transforms/index.rst +0 -0
  61. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/transforms/matrix.rst +0 -0
  62. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/reference/transforms/task_context.rst +0 -0
  63. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/tutorials/connecting-taskcluster.rst +0 -0
  64. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/tutorials/creating-a-task-graph.rst +0 -0
  65. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/tutorials/example-taskcluster.yml +0 -0
  66. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/tutorials/getting-started.rst +0 -0
  67. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/docs/tutorials/index.rst +0 -0
  68. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/make.bat +0 -0
  69. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/pytest-taskgraph/README.md +0 -0
  70. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/pytest-taskgraph/pyproject.toml +0 -0
  71. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/pytest-taskgraph/src/pytest_taskgraph/__init__.py +0 -0
  72. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/gen.py +0 -0
  73. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/vcs.py +0 -0
  74. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/sphinx-taskgraph/README.md +0 -0
  75. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/sphinx-taskgraph/pyproject.toml +0 -0
  76. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/sphinx-taskgraph/src/sphinx_taskgraph/__init__.py +0 -0
  77. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/packages/sphinx-taskgraph/src/sphinx_taskgraph/autoschema.py +0 -0
  78. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/renovate.json +0 -0
  79. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/__init__.py +0 -0
  80. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/__init__.py +0 -0
  81. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/add_new_jobs.py +0 -0
  82. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/cancel.py +0 -0
  83. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/cancel_all.py +0 -0
  84. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/rebuild_cached_tasks.py +0 -0
  85. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/registry.py +0 -0
  86. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/retrigger.py +0 -0
  87. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/actions/util.py +0 -0
  88. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/config.py +0 -0
  89. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/create.py +0 -0
  90. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/decision.py +0 -0
  91. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/docker.py +0 -0
  92. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/filter_tasks.py +0 -0
  93. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/generator.py +0 -0
  94. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/graph.py +0 -0
  95. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/loader/__init__.py +0 -0
  96. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/loader/default.py +0 -0
  97. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/loader/transform.py +0 -0
  98. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/main.py +0 -0
  99. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/morph.py +0 -0
  100. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/optimize/__init__.py +0 -0
  101. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/optimize/base.py +0 -0
  102. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/optimize/strategies.py +0 -0
  103. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/parameters.py +0 -0
  104. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/run-task/fetch-content +0 -0
  105. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/run-task/hgrc +0 -0
  106. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/run-task/run-task +0 -0
  107. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/target_tasks.py +0 -0
  108. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/task.py +0 -0
  109. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/taskgraph.py +0 -0
  110. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/__init__.py +0 -0
  111. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/base.py +0 -0
  112. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/cached_tasks.py +0 -0
  113. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/chunking.py +0 -0
  114. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/code_review.py +0 -0
  115. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/docker_image.py +0 -0
  116. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/fetch.py +0 -0
  117. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/from_deps.py +0 -0
  118. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/matrix.py +0 -0
  119. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/notify.py +0 -0
  120. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/run/__init__.py +0 -0
  121. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/run/common.py +0 -0
  122. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/run/index_search.py +0 -0
  123. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/run/run_task.py +0 -0
  124. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/run/toolchain.py +0 -0
  125. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/task.py +0 -0
  126. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/transforms/task_context.py +0 -0
  127. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/__init__.py +0 -0
  128. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/archive.py +0 -0
  129. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/attributes.py +0 -0
  130. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/cached_tasks.py +0 -0
  131. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/caches.py +0 -0
  132. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/copy.py +0 -0
  133. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/dependencies.py +0 -0
  134. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/docker.py +0 -0
  135. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/hash.py +0 -0
  136. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/json.py +0 -0
  137. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/keyed_by.py +0 -0
  138. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/parameterization.py +0 -0
  139. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/path.py +0 -0
  140. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/python_path.py +0 -0
  141. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/readonlydict.py +0 -0
  142. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/schema.py +0 -0
  143. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/set_name.py +0 -0
  144. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/shell.py +0 -0
  145. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/task_context.py +0 -0
  146. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/taskcluster.py +0 -0
  147. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/taskgraph.py +0 -0
  148. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/templates.py +0 -0
  149. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/time.py +0 -0
  150. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/treeherder.py +0 -0
  151. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/vcs.py +0 -0
  152. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/verify.py +0 -0
  153. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/workertypes.py +0 -0
  154. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/src/taskgraph/util/yaml.py +0 -0
  155. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/config.yml +0 -0
  156. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/REGISTRY +0 -0
  157. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/decision/Dockerfile +0 -0
  158. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/decision/HASH +0 -0
  159. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/decision/README.md +0 -0
  160. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/decision/VERSION +0 -0
  161. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/decision/system-setup.sh +0 -0
  162. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/fetch/Dockerfile +0 -0
  163. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/image_builder/README.rst +0 -0
  164. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/index-task/Dockerfile +0 -0
  165. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/index-task/README +0 -0
  166. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/index-task/insert-indexes.js +0 -0
  167. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/index-task/package.json +0 -0
  168. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/index-task/yarn.lock +0 -0
  169. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/python/Dockerfile +0 -0
  170. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/run-task/Dockerfile +0 -0
  171. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/run-task/system-setup.sh +0 -0
  172. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/skopeo/Dockerfile +0 -0
  173. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/skopeo/policy.json +0 -0
  174. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/docker/skopeo/push_image.sh +0 -0
  175. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/check/kind.yml +0 -0
  176. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/codecov/kind.yml +0 -0
  177. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/complete/kind.yml +0 -0
  178. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/doc/kind.yml +0 -0
  179. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/docker-image/kind.yml +0 -0
  180. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/fetch/kind.yml +0 -0
  181. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/push-image/kind.yml +0 -0
  182. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/test/kind.yml +0 -0
  183. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/test/linux.yml +0 -0
  184. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/kinds/test/windows.yml +0 -0
  185. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/scripts/codecov-upload.py +0 -0
  186. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/self_taskgraph/__init__.py +0 -0
  187. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/self_taskgraph/custom_parameters.py +0 -0
  188. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/self_taskgraph/custom_target_tasks.py +0 -0
  189. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/self_taskgraph/transforms/add_pr_route.py +0 -0
  190. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/self_taskgraph/transforms/push_image.py +0 -0
  191. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/test/params/main-repo-pull-request-untrusted.yml +0 -0
  192. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/test/params/main-repo-pull-request.yml +0 -0
  193. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/test/params/main-repo-push.yml +0 -0
  194. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/test/params/main-repo-release-pytest-taskgraph.yml +0 -0
  195. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/taskcluster/test/params/main-repo-release-taskcluster-taskgraph.yml +0 -0
  196. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/cookiecutter.json +0 -0
  197. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/hooks/post_gen_project.py +0 -0
  198. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster/config.yml +0 -0
  199. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster/docker/linux/Dockerfile +0 -0
  200. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster/kinds/docker-image/kind.yml +0 -0
  201. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster/kinds/hello/kind.yml +0 -0
  202. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster/{{cookiecutter.project_slug}}_taskgraph/transforms/hello.py +0 -0
  203. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/template/{{cookiecutter.project_name}}/taskcluster.github.yml +0 -0
  204. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/__init__.py +0 -0
  205. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/automationrelevance.json +0 -0
  206. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/conftest.py +0 -0
  207. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/task_context.yml +0 -0
  208. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/config.yml +0 -0
  209. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/docker/hello-world/Dockerfile +0 -0
  210. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/docker/hello-world-tag/Dockerfile +0 -0
  211. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/docker/hello-world-tag/REGISTRY +0 -0
  212. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/docker/hello-world-tag/VERSION +0 -0
  213. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/kinds/docker-image/kind.yml +0 -0
  214. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/scripts/toolchain/run.ps1 +0 -0
  215. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/scripts/toolchain/run.sh +0 -0
  216. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/taskcluster/test_taskgraph/transforms/foo.py +0 -0
  217. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/data/testmod/thing.py +0 -0
  218. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/mockedopen.py +0 -0
  219. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_actions_rebuild_cached_tasks.py +0 -0
  220. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_actions_registry.py +0 -0
  221. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_config.py +0 -0
  222. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_create.py +0 -0
  223. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_decision.py +0 -0
  224. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_docker.py +0 -0
  225. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_generator.py +0 -0
  226. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_graph.py +0 -0
  227. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_graph_perf.py +0 -0
  228. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_main.py +0 -0
  229. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_morph.py +0 -0
  230. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_optimize.py +0 -0
  231. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_optimize_strategies.py +0 -0
  232. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_parameters.py +0 -0
  233. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_scripts_fetch_content.py +0 -0
  234. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_scripts_run_task.py +0 -0
  235. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_target_tasks.py +0 -0
  236. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_taskgraph.py +0 -0
  237. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transform_chunking.py +0 -0
  238. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transform_docker_image.py +0 -0
  239. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transform_task_context.py +0 -0
  240. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_base.py +0 -0
  241. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_cached_tasks.py +0 -0
  242. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_fetch.py +0 -0
  243. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_from_deps.py +0 -0
  244. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_matrix.py +0 -0
  245. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_notify.py +0 -0
  246. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_run.py +0 -0
  247. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_run_run_task.py +0 -0
  248. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_run_toolchain.py +0 -0
  249. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_transforms_task.py +0 -0
  250. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_archive.py +0 -0
  251. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_attributes.py +0 -0
  252. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_cached_tasks.py +0 -0
  253. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_copy.py +0 -0
  254. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_dependencies.py +0 -0
  255. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_docker.py +0 -0
  256. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_json.py +0 -0
  257. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_keyed_by.py +0 -0
  258. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_parameterization.py +0 -0
  259. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_path.py +0 -0
  260. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_python_path.py +0 -0
  261. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_readonlydict.py +0 -0
  262. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_schema.py +0 -0
  263. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_taskcluster.py +0 -0
  264. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_templates.py +0 -0
  265. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_time.py +0 -0
  266. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_treeherder.py +0 -0
  267. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_vcs.py +0 -0
  268. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_verify.py +0 -0
  269. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_workertypes.py +0 -0
  270. {taskcluster_taskgraph-24.2.2 → taskcluster_taskgraph-24.2.3}/test/test_util_yaml.py +0 -0
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## [24.2.3] - 2026-07-29
4
+
5
+ ### Fixed
6
+
7
+ - Vendor latest robustcheckout
8
+
3
9
  ## [24.2.2] - 2026-07-28
4
10
 
5
11
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskcluster-taskgraph
3
- Version: 24.2.2
3
+ Version: 24.2.3
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 = "24.2.2"
4
+ version = "24.2.3"
5
5
  description = "Build taskcluster taskgraphs"
6
6
  readme = "README.rst"
7
7
  authors = [
@@ -18,6 +18,7 @@ import random
18
18
  import re
19
19
  import socket
20
20
  import ssl
21
+ import stat
21
22
  import time
22
23
 
23
24
  from mercurial.i18n import _
@@ -38,6 +39,22 @@ from mercurial import (
38
39
  vfs,
39
40
  )
40
41
 
42
+ # TRACKING hg72 - `hg.repository`/`hg.peer` moved to `mercurial.repo.factory`.
43
+ try:
44
+ from mercurial.repo import factory as _repofactory
45
+
46
+ _repository = _repofactory.repository
47
+ _peer = _repofactory.peer
48
+ except ImportError:
49
+ _repository = hg.repository
50
+ _peer = hg.peer
51
+
52
+ # TRACKING hg72 - `hg.clone` moved to `mercurial.cmd_impls.clone.clone`.
53
+ try:
54
+ from mercurial.cmd_impls.clone import clone as _clone
55
+ except ImportError:
56
+ _clone = hg.clone
57
+
41
58
  # Causes worker to purge caches on process exit and for task to retry.
42
59
  EXIT_PURGE_CACHE = 72
43
60
 
@@ -67,6 +84,57 @@ def peerlookup(remote, v):
67
84
  return e.callcommand(b"lookup", {b"key": v}).result()
68
85
 
69
86
 
87
+ def remove_dangling_links(ui, path):
88
+ """On Windows, remove dangling symlinks and junctions under ``path``.
89
+
90
+ npm's ``file:`` protocol dependencies create directory junctions in
91
+ ``node_modules/`` with absolute targets. When a Taskcluster cache
92
+ is restored to a different task directory those targets no longer
93
+ exist, and Mercurial's purge crashes in ``vfs.listdir()`` with
94
+ ``FileNotFoundError``. Removing them first lets purge proceed.
95
+ """
96
+ if os.name != "nt":
97
+ return
98
+
99
+ ui.write(b"windows detected, removing dangling links\n")
100
+
101
+ stack = [path]
102
+ while stack:
103
+ dirpath = stack.pop()
104
+ try:
105
+ entries = os.scandir(dirpath)
106
+ except OSError:
107
+ continue
108
+
109
+ with entries:
110
+ for entry in entries:
111
+ p = entry.path
112
+ try:
113
+ attrs = entry.stat(follow_symlinks=False).st_file_attributes
114
+ except OSError:
115
+ continue
116
+
117
+ if attrs & stat.FILE_ATTRIBUTE_REPARSE_POINT:
118
+ if not os.path.exists(p):
119
+ ui.write(
120
+ b"(removing dangling link %s)\n"
121
+ % os.fsencode(os.path.relpath(p, path))
122
+ )
123
+ try:
124
+ os.rmdir(p)
125
+ except OSError:
126
+ os.remove(p)
127
+ continue
128
+
129
+ try:
130
+ is_dir = entry.is_dir(follow_symlinks=False)
131
+ except OSError:
132
+ continue
133
+
134
+ if is_dir:
135
+ stack.append(p)
136
+
137
+
70
138
  @command(
71
139
  b"robustcheckout",
72
140
  [
@@ -427,7 +495,7 @@ def _docheckout(
427
495
  def handlerepoerror(e):
428
496
  if pycompat.bytestr(e) == _(b"abandoned transaction found"):
429
497
  ui.warn(b"(abandoned transaction found; trying to recover)\n")
430
- repo = hg.repository(ui, dest)
498
+ repo = _repository(ui, dest)
431
499
  if not repo.recover():
432
500
  ui.warn(b"(could not recover repo state; deleting shared store)\n")
433
501
  with timeit("remove_unrecovered_shared_store", "remove-store"):
@@ -535,7 +603,7 @@ def _docheckout(
535
603
  cloneurl = upstream or url
536
604
 
537
605
  try:
538
- clonepeer = hg.peer(ui, {}, cloneurl)
606
+ clonepeer = _peer(ui, {}, cloneurl)
539
607
  rootnode = peerlookup(clonepeer, b"0")
540
608
  except error.RepoLookupError:
541
609
  raise error.Abort(b"unable to resolve root revision from clone source")
@@ -623,12 +691,12 @@ def _docheckout(
623
691
  ui.write(b"(cloning from upstream repo %s)\n" % upstream)
624
692
 
625
693
  if not storevfs.exists():
626
- behaviors.add(b"create-store")
694
+ behaviors.add("create-store")
627
695
 
628
696
  try:
629
697
  with timeit("clone", "clone"):
630
698
  shareopts = {b"pool": sharebase, b"mode": b"identity"}
631
- res = hg.clone(
699
+ res = _clone(
632
700
  ui,
633
701
  {},
634
702
  clonepeer,
@@ -667,7 +735,7 @@ def _docheckout(
667
735
  # The destination .hg directory should exist. Now make sure we have the
668
736
  # wanted revision.
669
737
 
670
- repo = hg.repository(ui, dest)
738
+ repo = _repository(ui, dest)
671
739
 
672
740
  # We only pull if we are using symbolic names or the requested revision
673
741
  # doesn't exist.
@@ -694,7 +762,7 @@ def _docheckout(
694
762
 
695
763
  remote = None
696
764
  try:
697
- remote = hg.peer(repo, {}, url)
765
+ remote = _peer(repo, {}, url)
698
766
  pullrevs = [peerlookup(remote, revision or branch)]
699
767
  checkoutrevision = hex(pullrevs[0])
700
768
  if branch:
@@ -741,6 +809,10 @@ def _docheckout(
741
809
  # guaranteed to not have conflicts on `hg update`.
742
810
  if purge and not created:
743
811
  ui.write(b"(purging working directory)\n")
812
+
813
+ with timeit("purge", "dangling_link_remove"):
814
+ remove_dangling_links(ui, dest)
815
+
744
816
  purge = getattr(commands, "purge", None)
745
817
  if not purge:
746
818
  purge = extensions.find(b"purge").purge
@@ -3176,7 +3176,7 @@ wheels = [
3176
3176
 
3177
3177
  [[package]]
3178
3178
  name = "taskcluster-taskgraph"
3179
- version = "24.2.2"
3179
+ version = "24.2.3"
3180
3180
  source = { editable = "." }
3181
3181
  dependencies = [
3182
3182
  { name = "appdirs" },