taskcluster-taskgraph 12.0.0__tar.gz → 12.2.0__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 (254) hide show
  1. taskcluster_taskgraph-12.2.0/.github/workflows/pypi-publish.yml +48 -0
  2. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.pre-commit-config.yaml +2 -2
  3. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.taskcluster.yml +1 -1
  4. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/CHANGELOG.md +30 -1
  5. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/CONTRIBUTING.rst +28 -6
  6. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/PKG-INFO +2 -2
  7. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/optimization-strategies.rst +3 -7
  8. taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/pyproject.toml +17 -0
  9. taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/src/pytest_taskgraph/__init__.py +2 -0
  10. {taskcluster_taskgraph-12.0.0/test → taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/src/pytest_taskgraph}/fixtures/gen.py +6 -0
  11. taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/uv.lock +654 -0
  12. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/pyproject.toml +7 -2
  13. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/__init__.py +1 -1
  14. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/create.py +8 -1
  15. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/docker.py +1 -1
  16. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/generator.py +3 -6
  17. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/main.py +8 -6
  18. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/optimize/strategies.py +3 -2
  19. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/parameters.py +2 -2
  20. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/run-task/fetch-content +71 -14
  21. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/run-task/robustcheckout.py +15 -18
  22. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/run-task/run-task +1 -1
  23. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/fetch.py +2 -2
  24. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/from_deps.py +1 -0
  25. taskcluster_taskgraph-12.2.0/src/taskgraph/util/__init__.py +0 -0
  26. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/archive.py +19 -5
  27. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/docker.py +10 -10
  28. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/shell.py +1 -1
  29. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/config.yml +2 -0
  30. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/decision/Dockerfile +1 -0
  31. taskcluster_taskgraph-12.2.0/taskcluster/self_taskgraph/__init__.py +21 -0
  32. taskcluster_taskgraph-12.2.0/taskcluster/self_taskgraph/custom_parameters.py +8 -0
  33. taskcluster_taskgraph-12.2.0/taskcluster/self_taskgraph/custom_target_tasks.py +19 -0
  34. taskcluster_taskgraph-12.2.0/taskcluster/test/params/main-repo-release-pytest-taskgraph.yml +31 -0
  35. taskcluster_taskgraph-12.0.0/taskcluster/test/params/main-repo-release.yml → taskcluster_taskgraph-12.2.0/taskcluster/test/params/main-repo-release-taskcluster-taskgraph.yml +3 -3
  36. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster.github.yml +1 -1
  37. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/conftest.py +2 -3
  38. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_actions_rebuild_cached_tasks.py +1 -2
  39. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_generator.py +1 -2
  40. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_optimize.py +2 -3
  41. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_optimize_strategies.py +6 -2
  42. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_parameters.py +7 -2
  43. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_scripts_fetch_content.py +1 -1
  44. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transform_task_context.py +2 -2
  45. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_cached_tasks.py +1 -2
  46. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_from_deps.py +22 -2
  47. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_run.py +55 -25
  48. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_task.py +1 -2
  49. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_archive.py +4 -4
  50. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_dependencies.py +2 -2
  51. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_docker.py +14 -14
  52. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_parameterization.py +2 -2
  53. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_verify.py +1 -2
  54. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/uv.lock +18 -1
  55. taskcluster_taskgraph-12.0.0/.github/workflows/pypi-publish.yml +0 -24
  56. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.codespell-ignore-words.txt +0 -0
  57. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.github/workflows/codeql-analysis.yml +0 -0
  58. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.gitignore +0 -0
  59. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.hatch_build.py +0 -0
  60. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.readthedocs.yaml +0 -0
  61. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/.yamllint +0 -0
  62. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/CODE_OF_CONDUCT.md +0 -0
  63. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/LICENSE +0 -0
  64. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/Makefile +0 -0
  65. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/README.rst +0 -0
  66. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/index.rst +0 -0
  67. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/kind.rst +0 -0
  68. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/loading.rst +0 -0
  69. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/optimization.rst +0 -0
  70. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/scopes.rst +0 -0
  71. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/task-graphs.rst +0 -0
  72. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/taskcluster.rst +0 -0
  73. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/concepts/transforms.rst +0 -0
  74. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/conf.py +0 -0
  75. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/contributing.rst +0 -0
  76. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/glossary.rst +0 -0
  77. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/bootstrap-taskgraph.rst +0 -0
  78. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/create-actions.rst +0 -0
  79. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/create-tasks.rst +0 -0
  80. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/debugging.rst +0 -0
  81. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/docker.rst +0 -0
  82. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/index.rst +0 -0
  83. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/run-locally.rst +0 -0
  84. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/send-notifications.rst +0 -0
  85. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/howto/use-fetches.rst +0 -0
  86. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/index.rst +0 -0
  87. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/cli.rst +0 -0
  88. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/index.rst +0 -0
  89. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/migrations.rst +0 -0
  90. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/parameters.rst +0 -0
  91. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/modules.rst +0 -0
  92. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.actions.rst +0 -0
  93. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.loader.rst +0 -0
  94. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.optimize.rst +0 -0
  95. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.rst +0 -0
  96. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.transforms.rst +0 -0
  97. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.transforms.run.rst +0 -0
  98. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/source/taskgraph.util.rst +0 -0
  99. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/transforms/chunking.rst +0 -0
  100. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/transforms/from_deps.rst +0 -0
  101. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/transforms/index.rst +0 -0
  102. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/transforms/matrix.rst +0 -0
  103. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/reference/transforms/task_context.rst +0 -0
  104. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/tutorials/connecting-taskcluster.rst +0 -0
  105. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/tutorials/creating-a-task-graph.rst +0 -0
  106. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/tutorials/example-taskcluster.yml +0 -0
  107. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/tutorials/getting-started.rst +0 -0
  108. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/docs/tutorials/index.rst +0 -0
  109. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/make.bat +0 -0
  110. /taskcluster_taskgraph-12.0.0/src/taskgraph/loader/__init__.py → /taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/README.md +0 -0
  111. {taskcluster_taskgraph-12.0.0/test → taskcluster_taskgraph-12.2.0/packages/pytest-taskgraph/src/pytest_taskgraph}/fixtures/vcs.py +0 -0
  112. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/__init__.py +0 -0
  113. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/add_new_jobs.py +0 -0
  114. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/cancel.py +0 -0
  115. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/cancel_all.py +0 -0
  116. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/rebuild_cached_tasks.py +0 -0
  117. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/registry.py +0 -0
  118. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/retrigger.py +0 -0
  119. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/actions/util.py +0 -0
  120. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/config.py +0 -0
  121. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/decision.py +0 -0
  122. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/filter_tasks.py +0 -0
  123. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/graph.py +0 -0
  124. {taskcluster_taskgraph-12.0.0/src/taskgraph/transforms → taskcluster_taskgraph-12.2.0/src/taskgraph/loader}/__init__.py +0 -0
  125. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/loader/default.py +0 -0
  126. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/loader/transform.py +0 -0
  127. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/morph.py +0 -0
  128. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/optimize/__init__.py +0 -0
  129. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/optimize/base.py +0 -0
  130. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/run-task/hgrc +0 -0
  131. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/target_tasks.py +0 -0
  132. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/task.py +0 -0
  133. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/taskgraph.py +0 -0
  134. {taskcluster_taskgraph-12.0.0/src/taskgraph/util → taskcluster_taskgraph-12.2.0/src/taskgraph/transforms}/__init__.py +0 -0
  135. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/base.py +0 -0
  136. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/cached_tasks.py +0 -0
  137. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/chunking.py +0 -0
  138. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/code_review.py +0 -0
  139. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/docker_image.py +0 -0
  140. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/matrix.py +0 -0
  141. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/notify.py +0 -0
  142. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/run/__init__.py +0 -0
  143. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/run/common.py +0 -0
  144. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/run/index_search.py +0 -0
  145. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/run/run_task.py +0 -0
  146. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/run/toolchain.py +0 -0
  147. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/task.py +0 -0
  148. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/transforms/task_context.py +0 -0
  149. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/attributes.py +0 -0
  150. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/cached_tasks.py +0 -0
  151. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/copy.py +0 -0
  152. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/dependencies.py +0 -0
  153. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/hash.py +0 -0
  154. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/keyed_by.py +0 -0
  155. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/parameterization.py +0 -0
  156. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/path.py +0 -0
  157. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/python_path.py +0 -0
  158. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/readonlydict.py +0 -0
  159. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/schema.py +0 -0
  160. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/set_name.py +0 -0
  161. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/taskcluster.py +0 -0
  162. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/taskgraph.py +0 -0
  163. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/templates.py +0 -0
  164. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/time.py +0 -0
  165. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/treeherder.py +0 -0
  166. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/vcs.py +0 -0
  167. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/verify.py +0 -0
  168. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/workertypes.py +0 -0
  169. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/src/taskgraph/util/yaml.py +0 -0
  170. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/REGISTRY +0 -0
  171. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/decision/HASH +0 -0
  172. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/decision/README.md +0 -0
  173. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/decision/VERSION +0 -0
  174. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/decision/system-setup.sh +0 -0
  175. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/fetch/Dockerfile +0 -0
  176. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/image_builder/README.rst +0 -0
  177. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/index-task/Dockerfile +0 -0
  178. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/index-task/README +0 -0
  179. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/index-task/insert-indexes.js +0 -0
  180. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/index-task/package.json +0 -0
  181. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/index-task/yarn.lock +0 -0
  182. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/python/Dockerfile +0 -0
  183. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/run-task/Dockerfile +0 -0
  184. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/run-task/system-setup.sh +0 -0
  185. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/skopeo/Dockerfile +0 -0
  186. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/skopeo/policy.json +0 -0
  187. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/docker/skopeo/push_image.sh +0 -0
  188. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/check/kind.yml +0 -0
  189. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/codecov/kind.yml +0 -0
  190. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/doc/kind.yml +0 -0
  191. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/docker-image/kind.yml +0 -0
  192. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/fetch/kind.yml +0 -0
  193. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/push-image/kind.yml +0 -0
  194. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/kinds/test/kind.yml +0 -0
  195. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/scripts/codecov-upload.py +0 -0
  196. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/scripts/external_tools/tooltool.py +0 -0
  197. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/self_taskgraph/transforms/push_image.py +0 -0
  198. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/test/params/main-repo-pull-request-untrusted.yml +0 -0
  199. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/test/params/main-repo-pull-request.yml +0 -0
  200. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/taskcluster/test/params/main-repo-push.yml +0 -0
  201. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/cookiecutter.json +0 -0
  202. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/hooks/post_gen_project.py +0 -0
  203. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster/config.yml +0 -0
  204. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster/docker/linux/Dockerfile +0 -0
  205. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/docker-image/kind.yml +0 -0
  206. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/hello/kind.yml +0 -0
  207. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster/{{cookiecutter.project_slug}}_taskgraph/transforms/hello.py +0 -0
  208. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/template/{{cookiecutter.project_name}}/taskcluster.hgmo.yml +0 -0
  209. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/__init__.py +0 -0
  210. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/automationrelevance.json +0 -0
  211. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/task_context.yml +0 -0
  212. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/config.yml +0 -0
  213. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/docker/hello-world/Dockerfile +0 -0
  214. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/docker/hello-world-tag/Dockerfile +0 -0
  215. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/docker/hello-world-tag/REGISTRY +0 -0
  216. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/docker/hello-world-tag/VERSION +0 -0
  217. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/scripts/toolchain/run.ps1 +0 -0
  218. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/scripts/toolchain/run.sh +0 -0
  219. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/taskcluster/test_taskgraph/transforms/foo.py +0 -0
  220. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/data/testmod/thing.py +0 -0
  221. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/mockedopen.py +0 -0
  222. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_actions_registry.py +0 -0
  223. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_config.py +0 -0
  224. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_create.py +0 -0
  225. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_decision.py +0 -0
  226. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_docker.py +0 -0
  227. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_graph.py +0 -0
  228. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_main.py +0 -0
  229. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_morph.py +0 -0
  230. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_scripts_run_task.py +0 -0
  231. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_target_tasks.py +0 -0
  232. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_taskgraph.py +0 -0
  233. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transform_chunking.py +0 -0
  234. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transform_docker_image.py +0 -0
  235. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_base.py +0 -0
  236. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_fetch.py +0 -0
  237. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_matrix.py +0 -0
  238. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_notify.py +0 -0
  239. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_run_run_task.py +0 -0
  240. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_transforms_run_toolchain.py +0 -0
  241. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_attributes.py +0 -0
  242. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_cached_tasks.py +0 -0
  243. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_copy.py +0 -0
  244. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_path.py +0 -0
  245. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_python_path.py +0 -0
  246. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_readonlydict.py +0 -0
  247. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_schema.py +0 -0
  248. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_taskcluster.py +0 -0
  249. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_templates.py +0 -0
  250. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_time.py +0 -0
  251. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_treeherder.py +0 -0
  252. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_vcs.py +0 -0
  253. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_workertypes.py +0 -0
  254. {taskcluster_taskgraph-12.0.0 → taskcluster_taskgraph-12.2.0}/test/test_util_yaml.py +0 -0
@@ -0,0 +1,48 @@
1
+ ---
2
+ on:
3
+ release:
4
+ types: [published]
5
+ jobs:
6
+ pypi-publish-taskcluster-taskgraph:
7
+ name: upload release to PyPI
8
+ if: ${{ ! startsWith(github.ref, 'refs/tags/pytest-taskgraph') }}
9
+ runs-on: ubuntu-latest
10
+ environment: release
11
+ permissions:
12
+ id-token: write
13
+ steps:
14
+ - name: Checkout sources
15
+ uses: actions/checkout@v4
16
+ - uses: actions/setup-python@v5
17
+ with:
18
+ python-version: '3.11'
19
+ cache: 'pip'
20
+ - name: Build taskcluster-taskgraph package distributions
21
+ run: |
22
+ pip install build
23
+ python -m build
24
+ - name: Publish package distributions to PyPI
25
+ uses: pypa/gh-action-pypi-publish@release/v1
26
+ pypi-publish-pytest-taskgraph:
27
+ name: upload release to PyPI
28
+ if: startsWith(github.ref, 'refs/tags/pytest-taskgraph')
29
+ runs-on: ubuntu-latest
30
+ environment: pytest-taskgraph-release
31
+ permissions:
32
+ id-token: write
33
+ steps:
34
+ - name: Checkout sources
35
+ uses: actions/checkout@v4
36
+ - uses: actions/setup-python@v5
37
+ with:
38
+ python-version: '3.11'
39
+ cache: 'pip'
40
+ - name: Build pytest-taskgraph package distributions
41
+ working-directory: packages/pytest-taskgraph
42
+ run: |
43
+ pip install build
44
+ python -m build
45
+ - name: Publish package distributions to PyPI
46
+ uses: pypa/gh-action-pypi-publish@release/v1
47
+ with:
48
+ packages-dir: packages/pytest-taskgraph/dist
@@ -15,7 +15,7 @@ repos:
15
15
  exclude: template
16
16
  - id: check-added-large-files
17
17
  - repo: https://github.com/astral-sh/ruff-pre-commit
18
- rev: v0.6.9
18
+ rev: v0.8.6
19
19
  hooks:
20
20
  - id: ruff
21
21
  args: [--fix, --exit-non-zero-on-fix]
@@ -35,7 +35,7 @@ repos:
35
35
  test/test_util_path.py
36
36
  )$
37
37
  - repo: https://github.com/compilerla/conventional-pre-commit
38
- rev: v3.4.0
38
+ rev: v4.0.0
39
39
  hooks:
40
40
  - id: conventional-pre-commit
41
41
  stages: [commit-msg]
@@ -34,7 +34,7 @@ tasks:
34
34
  project:
35
35
  $switch:
36
36
  'tasks_for in ["github-push", "github-release"]': '${event.repository.name}'
37
- 'tasks_for[:19] == "github-pull-request"': '${event.pull_request.head.repo.name}'
37
+ 'tasks_for[:19] == "github-pull-request"': '${event.pull_request.base.repo.name}'
38
38
  'tasks_for in ["cron", "action", "pr-action"]': '${repository.project}'
39
39
  head_branch:
40
40
  $switch:
@@ -1,5 +1,34 @@
1
1
  # Change Log
2
2
 
3
+ ## [12.2.0] - 2025-01-15
4
+
5
+ ### Added
6
+
7
+ - fetch-content: support for downloading a single file and putting it in an archive
8
+
9
+ ### Fixed
10
+
11
+ - use base repo for project name in github .taskcluster.yml template (#610)
12
+ - added False as option in from-deps set-name config (#621)
13
+ - fetch-content: use urlopen's context parameter instead of cafile (#618)
14
+ - run-task: update our copy of robustcheckout hg extension (#617)
15
+ - avoid computing expensive default values when the value is overridden anyways
16
+
17
+ ### Changed
18
+
19
+ - hash the uncompressed contents of docker context tar (#626)
20
+
21
+ ## [12.1.0] - 2024-11-21
22
+
23
+ ### Added
24
+
25
+ - fetch-content: log x-cache-status when content size doesn't match expected (#606)
26
+
27
+ ### Fixed
28
+
29
+ - Don't assume the taskcluster proxy is running on http://taskcluster (#603)
30
+ - Do not apply skip-unless-changed for cron triggers (#604)
31
+
3
32
  ## [12.0.0] - 2024-10-25
4
33
 
5
34
  ### Added
@@ -29,7 +58,7 @@
29
58
  ### Fixed
30
59
 
31
60
  - A couple more regressions with the Decision image
32
- - Cleaned up temporary `uv` lockfile owend by root
61
+ - Cleaned up temporary `uv` lockfile owned by root
33
62
  - Added another `--no-cache` flag to a `uv` command
34
63
  - `run-task` now installs packages to user site dir when installing requirements with `uv`
35
64
  - Fetch tasks using `static-url` will now properly rename non-archive files
@@ -150,22 +150,44 @@ Or if you'd like to update a specific dependency:
150
150
 
151
151
  uv sync -P <package>
152
152
 
153
- Releasing
154
- ---------
153
+ Releasing taskcluster-taskgraph
154
+ -------------------------------
155
155
 
156
156
  In order to release a new version of Taskgraph, you will need to:
157
157
 
158
158
  1. Update ``CHANGELOG.md``
159
159
  2. Update ``__version__`` in ``src/taskgraph/__init__.py``
160
160
  3. Commit, and land the above changes with a commit message like "chore: bump <version>"
161
- 4. Create a release in Github pointing to the above commit. Be sure to also
162
- create a new tag matching this version.
161
+ 4. Draft a release in Github pointing to the above commit.
162
+
163
+ a. Create a new tag of the form ``X.Y.Z``
164
+ b. Ensure "Set as latest release" is checked
165
+ c. Submit the release
166
+
163
167
  5. Wait for the ``pypi-publish`` Github workflow and ``push-image-decision`` task to finish.
164
- 6. Verify that expected version has been published to `pypi`_ and pushed to `DockerHub`_.
168
+ 6. Verify that expected version has been published to `pypi
169
+ <https://pypi.org/project/taskcluster-taskgraph>`__ and pushed to `DockerHub`_.
165
170
 
166
- .. _pypi: https://pypi.org/project/taskcluster-taskgraph
167
171
  .. _DockerHub: https://hub.docker.com/r/mozillareleases/taskgraph/tags
168
172
 
173
+ Releasing pytest-taskgraph
174
+ --------------------------
175
+
176
+ There's also a Pytest plugin packaged under ``packages/pytest-taskgraph``. The
177
+ release process for this package is:
178
+
179
+ 1. Update ``version`` in ``packages/pytest-taskgraph/pyproject.toml``
180
+ 2. Commit and land the changes with a commit message like "chore: bump pytest-taskgraph <version>"
181
+ 3. Draft a release in Github pointing to the above commit.
182
+
183
+ a. Create a new tag of the form ``pytest-taskgraph-vX.Y.Z``
184
+ b. Uncheck "Set as latest release"
185
+ c. Submit the release
186
+
187
+ 4. Wait for the ``pypi-publish`` Github workflow to finish.
188
+ 5. Verify that expected version has been published to `pypi <https://pypi.org/project/pytest-taskgraph>`__.
189
+
190
+
169
191
  Building the Package
170
192
  --------------------
171
193
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: taskcluster-taskgraph
3
- Version: 12.0.0
3
+ Version: 12.2.0
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
@@ -10,15 +10,11 @@ Strategies for Removing Tasks
10
10
  skip-unless-changed
11
11
  ~~~~~~~~~~~~~~~~~~~
12
12
 
13
- .. note::
14
-
15
- This strategy is only implemented for Mercurial repositories hosted on
16
- ``hg.mozilla.org``.
17
-
18
13
  The :class:`skip-unless-changed
19
14
  <taskgraph.optimize.strategies.SkipUnlessChanged>` strategy will optimize the
20
- target task away *unless* a specified file is modified. Glob patterns are
21
- supported.
15
+ target task away *unless* a specified file is modified. When there is no
16
+ difference between head and base revs (for example, cron or action tasks), this
17
+ optimization will not apply. Glob patterns are supported.
22
18
 
23
19
  Example:
24
20
 
@@ -0,0 +1,17 @@
1
+ [project]
2
+ name = "pytest-taskgraph"
3
+ version = "0.1.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ authors = [
7
+ { name = "Andrew Halberstadt", email = "ahal@mozilla.com" }
8
+ ]
9
+ requires-python = ">=3.8"
10
+ dependencies = ["pytest", "taskcluster-taskgraph>=12.1.0"]
11
+
12
+ [project.entry-points.pytest11]
13
+ pytest-taskgraph = "pytest_taskgraph"
14
+
15
+ [build-system]
16
+ requires = ["hatchling"]
17
+ build-backend = "hatchling.build"
@@ -0,0 +1,2 @@
1
+ from .fixtures.gen import * # noqa
2
+ from .fixtures.vcs import * # noqa
@@ -85,6 +85,12 @@ def fake_load_graph_config(root_dir):
85
85
  "os": "linux",
86
86
  "worker-type": "linux",
87
87
  },
88
+ "t-win": {
89
+ "provisioner": "taskgraph-t",
90
+ "implementation": "generic-worker",
91
+ "os": "windows",
92
+ "worker-type": "win",
93
+ },
88
94
  }
89
95
  },
90
96
  "task-priority": "low",