taskcluster-taskgraph 23.2.0__tar.gz → 24.0.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 (267) hide show
  1. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/CHANGELOG.md +11 -0
  2. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/PKG-INFO +1 -1
  3. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/migrations.rst +11 -0
  4. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/gen.py +0 -3
  5. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/pyproject.toml +1 -1
  6. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/decision.py +37 -42
  7. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/parameters.py +0 -7
  8. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/docker_image.py +1 -1
  9. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/task.py +3 -5
  10. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/uv.lock +2 -2
  11. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.codespell-ignore-words.txt +0 -0
  12. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.github/CODEOWNERS +0 -0
  13. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.github/workflows/codeql-analysis.yml +0 -0
  14. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.github/workflows/pypi-publish.yml +0 -0
  15. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.gitignore +0 -0
  16. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.pre-commit-config.yaml +0 -0
  17. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.readthedocs.yaml +0 -0
  18. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.taskcluster.yml +0 -0
  19. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/.yamllint +0 -0
  20. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/CODE_OF_CONDUCT.md +0 -0
  21. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/CONTRIBUTING.rst +0 -0
  22. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/LICENSE +0 -0
  23. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/Makefile +0 -0
  24. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/README.rst +0 -0
  25. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/index.rst +0 -0
  26. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/kind.rst +0 -0
  27. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/loading.rst +0 -0
  28. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/optimization.rst +0 -0
  29. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/overview.rst +0 -0
  30. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/scopes.rst +0 -0
  31. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/task-graphs.rst +0 -0
  32. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/concepts/transforms.rst +0 -0
  33. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/conf.py +0 -0
  34. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/contributing.rst +0 -0
  35. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/glossary.rst +0 -0
  36. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/bootstrap-taskgraph.rst +0 -0
  37. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/create-actions.rst +0 -0
  38. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/create-tasks.rst +0 -0
  39. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/debugging.rst +0 -0
  40. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/define-schemas.rst +0 -0
  41. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/docker.rst +0 -0
  42. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/index.rst +0 -0
  43. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/load-task-locally.rst +0 -0
  44. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/resolve-keyed-by.rst +0 -0
  45. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/run-locally.rst +0 -0
  46. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/send-notifications.rst +0 -0
  47. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/howto/use-fetches.rst +0 -0
  48. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/index.rst +0 -0
  49. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/cli.rst +0 -0
  50. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/index.rst +0 -0
  51. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/optimization-strategies.rst +0 -0
  52. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/parameters.rst +0 -0
  53. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/modules.rst +0 -0
  54. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.actions.rst +0 -0
  55. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.loader.rst +0 -0
  56. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.optimize.rst +0 -0
  57. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.rst +0 -0
  58. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.transforms.rst +0 -0
  59. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.transforms.run.rst +0 -0
  60. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/source/taskgraph.util.rst +0 -0
  61. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/transforms/chunking.rst +0 -0
  62. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/transforms/from_deps.rst +0 -0
  63. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/transforms/index.rst +0 -0
  64. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/transforms/matrix.rst +0 -0
  65. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/reference/transforms/task_context.rst +0 -0
  66. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/tutorials/connecting-taskcluster.rst +0 -0
  67. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/tutorials/creating-a-task-graph.rst +0 -0
  68. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/tutorials/example-taskcluster.yml +0 -0
  69. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/tutorials/getting-started.rst +0 -0
  70. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/docs/tutorials/index.rst +0 -0
  71. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/make.bat +0 -0
  72. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/pytest-taskgraph/README.md +0 -0
  73. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/pytest-taskgraph/pyproject.toml +0 -0
  74. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/pytest-taskgraph/src/pytest_taskgraph/__init__.py +0 -0
  75. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/vcs.py +0 -0
  76. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/sphinx-taskgraph/README.md +0 -0
  77. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/sphinx-taskgraph/pyproject.toml +0 -0
  78. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/sphinx-taskgraph/src/sphinx_taskgraph/__init__.py +0 -0
  79. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/packages/sphinx-taskgraph/src/sphinx_taskgraph/autoschema.py +0 -0
  80. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/renovate.json +0 -0
  81. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/__init__.py +0 -0
  82. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/__init__.py +0 -0
  83. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/add_new_jobs.py +0 -0
  84. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/cancel.py +0 -0
  85. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/cancel_all.py +0 -0
  86. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/rebuild_cached_tasks.py +0 -0
  87. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/registry.py +0 -0
  88. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/retrigger.py +0 -0
  89. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/actions/util.py +0 -0
  90. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/config.py +0 -0
  91. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/create.py +0 -0
  92. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/docker.py +0 -0
  93. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/filter_tasks.py +0 -0
  94. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/generator.py +0 -0
  95. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/graph.py +0 -0
  96. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/loader/__init__.py +0 -0
  97. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/loader/default.py +0 -0
  98. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/loader/transform.py +0 -0
  99. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/main.py +0 -0
  100. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/morph.py +0 -0
  101. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/optimize/__init__.py +0 -0
  102. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/optimize/base.py +0 -0
  103. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/optimize/strategies.py +0 -0
  104. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/run-task/fetch-content +0 -0
  105. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/run-task/hgrc +0 -0
  106. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/run-task/robustcheckout.py +0 -0
  107. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/run-task/run-task +0 -0
  108. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/target_tasks.py +0 -0
  109. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/task.py +0 -0
  110. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/taskgraph.py +0 -0
  111. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/__init__.py +0 -0
  112. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/base.py +0 -0
  113. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/cached_tasks.py +0 -0
  114. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/chunking.py +0 -0
  115. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/code_review.py +0 -0
  116. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/fetch.py +0 -0
  117. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/from_deps.py +0 -0
  118. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/matrix.py +0 -0
  119. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/notify.py +0 -0
  120. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/run/__init__.py +0 -0
  121. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/run/common.py +0 -0
  122. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/run/index_search.py +0 -0
  123. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/run/run_task.py +0 -0
  124. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/run/toolchain.py +0 -0
  125. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/transforms/task_context.py +0 -0
  126. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/__init__.py +0 -0
  127. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/archive.py +0 -0
  128. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/attributes.py +0 -0
  129. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/cached_tasks.py +0 -0
  130. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/caches.py +0 -0
  131. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/copy.py +0 -0
  132. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/dependencies.py +0 -0
  133. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/docker.py +0 -0
  134. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/hash.py +0 -0
  135. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/json.py +0 -0
  136. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/keyed_by.py +0 -0
  137. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/parameterization.py +0 -0
  138. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/path.py +0 -0
  139. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/python_path.py +0 -0
  140. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/readonlydict.py +0 -0
  141. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/schema.py +0 -0
  142. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/set_name.py +0 -0
  143. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/shell.py +0 -0
  144. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/taskcluster.py +0 -0
  145. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/taskgraph.py +0 -0
  146. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/templates.py +0 -0
  147. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/time.py +0 -0
  148. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/treeherder.py +0 -0
  149. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/vcs.py +0 -0
  150. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/verify.py +0 -0
  151. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/workertypes.py +0 -0
  152. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/src/taskgraph/util/yaml.py +0 -0
  153. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/config.yml +0 -0
  154. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/REGISTRY +0 -0
  155. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/decision/Dockerfile +0 -0
  156. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/decision/HASH +0 -0
  157. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/decision/README.md +0 -0
  158. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/decision/VERSION +0 -0
  159. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/decision/system-setup.sh +0 -0
  160. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/fetch/Dockerfile +0 -0
  161. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/image_builder/README.rst +0 -0
  162. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/index-task/Dockerfile +0 -0
  163. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/index-task/README +0 -0
  164. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/index-task/insert-indexes.js +0 -0
  165. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/index-task/package.json +0 -0
  166. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/index-task/yarn.lock +0 -0
  167. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/python/Dockerfile +0 -0
  168. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/run-task/Dockerfile +0 -0
  169. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/run-task/system-setup.sh +0 -0
  170. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/skopeo/Dockerfile +0 -0
  171. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/skopeo/policy.json +0 -0
  172. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/docker/skopeo/push_image.sh +0 -0
  173. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/check/kind.yml +0 -0
  174. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/codecov/kind.yml +0 -0
  175. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/complete/kind.yml +0 -0
  176. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/doc/kind.yml +0 -0
  177. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/docker-image/kind.yml +0 -0
  178. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/fetch/kind.yml +0 -0
  179. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/push-image/kind.yml +0 -0
  180. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/test/kind.yml +0 -0
  181. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/test/linux.yml +0 -0
  182. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/kinds/test/windows.yml +0 -0
  183. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/scripts/codecov-upload.py +0 -0
  184. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/self_taskgraph/__init__.py +0 -0
  185. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/self_taskgraph/custom_parameters.py +0 -0
  186. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/self_taskgraph/custom_target_tasks.py +0 -0
  187. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/self_taskgraph/transforms/add_pr_route.py +0 -0
  188. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/self_taskgraph/transforms/push_image.py +0 -0
  189. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/test/params/main-repo-pull-request-untrusted.yml +0 -0
  190. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/test/params/main-repo-pull-request.yml +0 -0
  191. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/test/params/main-repo-push.yml +0 -0
  192. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/test/params/main-repo-release-pytest-taskgraph.yml +0 -0
  193. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/taskcluster/test/params/main-repo-release-taskcluster-taskgraph.yml +0 -0
  194. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/cookiecutter.json +0 -0
  195. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/hooks/post_gen_project.py +0 -0
  196. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster/config.yml +0 -0
  197. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster/docker/linux/Dockerfile +0 -0
  198. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/docker-image/kind.yml +0 -0
  199. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/hello/kind.yml +0 -0
  200. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster/{{cookiecutter.project_slug}}_taskgraph/transforms/hello.py +0 -0
  201. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/template/{{cookiecutter.project_name}}/taskcluster.github.yml +0 -0
  202. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/__init__.py +0 -0
  203. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/automationrelevance.json +0 -0
  204. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/conftest.py +0 -0
  205. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/task_context.yml +0 -0
  206. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/config.yml +0 -0
  207. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/docker/hello-world/Dockerfile +0 -0
  208. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/docker/hello-world-tag/Dockerfile +0 -0
  209. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/docker/hello-world-tag/REGISTRY +0 -0
  210. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/docker/hello-world-tag/VERSION +0 -0
  211. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/kinds/docker-image/kind.yml +0 -0
  212. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/scripts/toolchain/run.ps1 +0 -0
  213. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/scripts/toolchain/run.sh +0 -0
  214. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/taskcluster/test_taskgraph/transforms/foo.py +0 -0
  215. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/data/testmod/thing.py +0 -0
  216. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/mockedopen.py +0 -0
  217. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_actions_rebuild_cached_tasks.py +0 -0
  218. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_actions_registry.py +0 -0
  219. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_config.py +0 -0
  220. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_create.py +0 -0
  221. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_decision.py +0 -0
  222. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_docker.py +0 -0
  223. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_generator.py +0 -0
  224. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_graph.py +0 -0
  225. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_main.py +0 -0
  226. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_morph.py +0 -0
  227. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_optimize.py +0 -0
  228. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_optimize_strategies.py +0 -0
  229. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_parameters.py +0 -0
  230. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_scripts_fetch_content.py +0 -0
  231. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_scripts_run_task.py +0 -0
  232. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_target_tasks.py +0 -0
  233. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_taskgraph.py +0 -0
  234. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transform_chunking.py +0 -0
  235. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transform_docker_image.py +0 -0
  236. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transform_task_context.py +0 -0
  237. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_base.py +0 -0
  238. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_cached_tasks.py +0 -0
  239. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_fetch.py +0 -0
  240. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_from_deps.py +0 -0
  241. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_matrix.py +0 -0
  242. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_notify.py +0 -0
  243. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_run.py +0 -0
  244. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_run_run_task.py +0 -0
  245. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_run_toolchain.py +0 -0
  246. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_transforms_task.py +0 -0
  247. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_archive.py +0 -0
  248. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_attributes.py +0 -0
  249. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_cached_tasks.py +0 -0
  250. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_copy.py +0 -0
  251. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_dependencies.py +0 -0
  252. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_docker.py +0 -0
  253. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_json.py +0 -0
  254. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_keyed_by.py +0 -0
  255. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_parameterization.py +0 -0
  256. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_path.py +0 -0
  257. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_python_path.py +0 -0
  258. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_readonlydict.py +0 -0
  259. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_schema.py +0 -0
  260. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_taskcluster.py +0 -0
  261. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_templates.py +0 -0
  262. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_time.py +0 -0
  263. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_treeherder.py +0 -0
  264. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_vcs.py +0 -0
  265. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_verify.py +0 -0
  266. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_workertypes.py +0 -0
  267. {taskcluster_taskgraph-23.2.0 → taskcluster_taskgraph-24.0.0}/test/test_util_yaml.py +0 -0
@@ -1,5 +1,16 @@
1
1
  # Change Log
2
2
 
3
+ ## [24.0.0] - 2026-06-03
4
+
5
+ ### Changed
6
+
7
+ - BREAKING CHANGE: Must pass in `--allow-parameter-override` if using try_task_config
8
+ - BREAKING CHANGE: Default level 1 artifact expiry changed from 1 year to 28 days
9
+
10
+ ### Removed
11
+
12
+ - BREAKING CHANGE: Removed `Parameters.is_try()` helper method
13
+
3
14
  ## [23.2.0] - 2026-06-03
4
15
 
5
16
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskcluster-taskgraph
3
- Version: 23.2.0
3
+ Version: 24.0.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
@@ -3,6 +3,17 @@ Migration Guide
3
3
 
4
4
  This page can help when migrating Taskgraph across major versions.
5
5
 
6
+ 23.x -> 24.x
7
+ ------------
8
+
9
+ * You must now pass in `--allow-parameter-override` into Decision tasks that
10
+ need to load the `try_task_config.json` file at the root of the repo.
11
+ * `taskgraph.parameters.Parameters.is_try()` is removed. Either in-line the old
12
+ method to a utility or use alternative logic.
13
+ * Level 1 artifacts' default expiry changed from "1 year" to "28 days". If
14
+ needed, set `task-expires-after` in `taskcluster/config.yml` to adjust the
15
+ default back.
16
+
6
17
  22.x -> 23.x
7
18
  ------------
8
19
 
@@ -123,9 +123,6 @@ def graph_config(datadir):
123
123
  class FakeParameters(dict):
124
124
  strict = True
125
125
 
126
- def is_try(self):
127
- return self["level"] != 3
128
-
129
126
  def file_url(self, path, pretty=False):
130
127
  return path
131
128
 
@@ -1,7 +1,7 @@
1
1
  ### Project
2
2
  [project]
3
3
  name = "taskcluster-taskgraph"
4
- version = "23.2.0"
4
+ version = "24.0.0"
5
5
  description = "Build taskcluster taskgraphs"
6
6
  readme = "README.rst"
7
7
  authors = [
@@ -252,31 +252,27 @@ def get_decision_parameters(graph_config, options):
252
252
  assert callable(decision_params)
253
253
  decision_params(graph_config, parameters)
254
254
 
255
- if options.get("try_task_config_file"):
256
- task_config_file = os.path.abspath(options.get("try_task_config_file"))
257
- else:
258
- # if try_task_config.json is present, load it
259
- task_config_file = os.path.join(os.getcwd(), "try_task_config.json")
260
-
261
- # load try settings
262
- if ("try" in project and options["tasks_for"] == "hg-push") or options[
263
- "tasks_for"
264
- ] == "github-pull-request":
265
- set_try_config(parameters, task_config_file)
266
-
267
- # load extra parameters from vcs note if able
268
- note_ref = "refs/notes/decision-parameters"
269
- if options.get("allow_parameter_override") and (
270
- note_params := repo.get_note(note_ref, parameters["head_repository"])
271
- ):
272
- try:
273
- note_params = json.loads(note_params)
274
- logger.info(
275
- f"Overriding parameters from {note_ref}:\n{json.dumps(note_params, indent=2)}"
276
- )
277
- parameters.update(note_params)
278
- except ValueError as e:
279
- raise Exception(f"Failed to parse {note_ref} as JSON: {e}") from e
255
+ # load extra parameters from file or vcs note if able
256
+ if options.get("allow_parameter_override"):
257
+ note_ref = "refs/notes/decision-parameters"
258
+ if options.get("try_task_config_file"):
259
+ task_config_file = os.path.abspath(options.get("try_task_config_file"))
260
+ else:
261
+ # if try_task_config.json is present, load it
262
+ task_config_file = os.path.join(os.getcwd(), "try_task_config.json")
263
+
264
+ if os.path.isfile(task_config_file):
265
+ set_try_config(parameters, task_config_file)
266
+
267
+ elif note_params := repo.get_note(note_ref, parameters["head_repository"]):
268
+ try:
269
+ note_params = json.loads(note_params)
270
+ logger.info(
271
+ f"Overriding parameters from {note_ref}:\n{json.dumps(note_params, indent=2)}"
272
+ )
273
+ parameters.update(note_params)
274
+ except ValueError as e:
275
+ raise Exception(f"Failed to parse {note_ref} as JSON: {e}") from e
280
276
 
281
277
  result = Parameters(**parameters)
282
278
  result.check()
@@ -284,23 +280,22 @@ def get_decision_parameters(graph_config, options):
284
280
 
285
281
 
286
282
  def set_try_config(parameters, task_config_file):
287
- if os.path.isfile(task_config_file):
288
- logger.info(f"using try tasks from {task_config_file}")
289
- with open(task_config_file) as fh:
290
- task_config = json.load(fh)
291
- task_config_version = task_config.pop("version")
292
- if task_config_version == 2:
293
- validate_schema(
294
- try_task_config_schema_v2,
295
- task_config,
296
- "Invalid v2 `try_task_config.json`.",
297
- )
298
- parameters.update(task_config["parameters"])
299
- return
300
- else:
301
- raise Exception(
302
- f"Unknown `try_task_config.json` version: {task_config_version}"
303
- )
283
+ logger.info(f"using try tasks from {task_config_file}")
284
+ with open(task_config_file) as fh:
285
+ task_config = json.load(fh)
286
+ task_config_version = task_config.pop("version")
287
+ if task_config_version == 2:
288
+ validate_schema(
289
+ try_task_config_schema_v2,
290
+ task_config,
291
+ "Invalid v2 `try_task_config.json`.",
292
+ )
293
+ parameters.update(task_config["parameters"])
294
+ return
295
+ else:
296
+ raise Exception(
297
+ f"Unknown `try_task_config.json` version: {task_config_version}"
298
+ )
304
299
 
305
300
 
306
301
  def write_artifact(filename, data):
@@ -273,13 +273,6 @@ class Parameters(ReadOnlyDict):
273
273
  except KeyError:
274
274
  raise KeyError(f"taskgraph parameter {k!r} not found")
275
275
 
276
- def is_try(self):
277
- """
278
- Determine whether this graph is being built on a try project or for
279
- `mach try fuzzy`.
280
- """
281
- return "try" in self["project"] or self["tasks_for"] == "github-pull-request"
282
-
283
276
  @property
284
277
  def moz_build_date(self):
285
278
  # XXX self["moz_build_date"] is left as a string because:
@@ -130,7 +130,7 @@ def fill_template(config, tasks):
130
130
  "artifact_prefix": "public",
131
131
  },
132
132
  "always-target": True,
133
- "expires-after": expires if config.params.is_try() else "1 year",
133
+ "expires-after": expires if config.params["level"] == "1" else "1 year",
134
134
  "scopes": [],
135
135
  "run-on-projects": [],
136
136
  "worker-type": "images",
@@ -457,12 +457,10 @@ def build_docker_worker_payload(config, task, task_def):
457
457
  else:
458
458
  suffix = cache_version
459
459
 
460
- skip_untrusted = config.params.is_try() or level == 1
461
-
462
460
  for cache in worker["caches"]:
463
461
  # Some caches aren't enabled in environments where we can't
464
462
  # guarantee certain behavior. Filter those out.
465
- if cache.get("skip-untrusted") and skip_untrusted:
463
+ if cache.get("skip-untrusted") and level == 1:
466
464
  continue
467
465
 
468
466
  name = "{trust_domain}-level-{level}-{name}-{suffix}".format(
@@ -484,7 +482,7 @@ def build_docker_worker_payload(config, task, task_def):
484
482
  if run_task and worker.get("volumes"):
485
483
  payload["env"]["TASKCLUSTER_VOLUMES"] = ";".join(sorted(worker["volumes"]))
486
484
 
487
- if payload.get("cache") and skip_untrusted: # type: ignore
485
+ if payload.get("cache") and level == 1: # type: ignore
488
486
  payload["env"]["TASKCLUSTER_UNTRUSTED_CACHES"] = "1"
489
487
 
490
488
  if features:
@@ -999,7 +997,7 @@ def build_task(config, tasks):
999
997
  if "expires-after" not in task:
1000
998
  task["expires-after"] = (
1001
999
  config.graph_config._config.get("task-expires-after", "28 days")
1002
- if config.params.is_try()
1000
+ if config.params["level"] == "1"
1003
1001
  else "1 year"
1004
1002
  )
1005
1003
 
@@ -883,7 +883,7 @@ name = "exceptiongroup"
883
883
  version = "1.3.1"
884
884
  source = { registry = "https://pypi.org/simple" }
885
885
  dependencies = [
886
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
886
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
887
887
  ]
888
888
  sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
889
889
  wheels = [
@@ -2991,7 +2991,7 @@ wheels = [
2991
2991
 
2992
2992
  [[package]]
2993
2993
  name = "taskcluster-taskgraph"
2994
- version = "23.2.0"
2994
+ version = "24.0.0"
2995
2995
  source = { editable = "." }
2996
2996
  dependencies = [
2997
2997
  { name = "appdirs" },