taskcluster-taskgraph 24.2.3__tar.gz → 24.3.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.
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/codeql-analysis.yml +4 -4
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/codspeed.yml +3 -3
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/pypi-publish.yml +9 -9
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.pre-commit-config.yaml +3 -3
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/CHANGELOG.md +13 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/PKG-INFO +2 -2
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/pyproject.toml +1 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/graph.py +18 -14
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/run-task/fetch-content +66 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/run-task/run-task +301 -24
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/task.py +2 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/fetch/Dockerfile +1 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/index-task/Dockerfile +1 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/index-task/package.json +1 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/index-task/yarn.lock +10 -10
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/run-task/Dockerfile +1 -1
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/skopeo/Dockerfile +3 -3
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_graph.py +60 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_scripts_run_task.py +301 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/uv.lock +998 -715
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.codespell-ignore-words.txt +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/CODEOWNERS +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.gitignore +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.readthedocs.yaml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.taskcluster.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.yamllint +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/CODE_OF_CONDUCT.md +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/CONTRIBUTING.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/LICENSE +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/Makefile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/README.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/kind.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/loading.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/optimization.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/overview.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/scopes.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/task-graphs.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/concepts/transforms.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/conf.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/contributing.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/glossary.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/bootstrap-taskgraph.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/create-actions.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/create-tasks.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/debugging.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/define-schemas.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/docker.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/load-task-locally.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/resolve-keyed-by.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/run-locally.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/send-notifications.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/howto/use-fetches.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/cli.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/migrations.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/optimization-strategies.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/parameters.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/modules.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.actions.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.loader.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.optimize.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.transforms.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.transforms.run.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/source/taskgraph.util.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/transforms/chunking.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/transforms/from_deps.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/transforms/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/transforms/matrix.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/reference/transforms/task_context.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/tutorials/connecting-taskcluster.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/tutorials/creating-a-task-graph.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/tutorials/example-taskcluster.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/tutorials/getting-started.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/docs/tutorials/index.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/make.bat +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/pytest-taskgraph/README.md +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/pytest-taskgraph/pyproject.toml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/pytest-taskgraph/src/pytest_taskgraph/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/gen.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/pytest-taskgraph/src/pytest_taskgraph/fixtures/vcs.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/sphinx-taskgraph/README.md +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/sphinx-taskgraph/pyproject.toml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/sphinx-taskgraph/src/sphinx_taskgraph/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/packages/sphinx-taskgraph/src/sphinx_taskgraph/autoschema.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/renovate.json +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/add_new_jobs.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/cancel.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/cancel_all.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/rebuild_cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/registry.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/retrigger.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/actions/util.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/config.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/create.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/decision.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/docker.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/filter_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/generator.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/loader/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/loader/default.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/loader/transform.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/main.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/morph.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/optimize/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/optimize/base.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/optimize/strategies.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/parameters.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/run-task/hgrc +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/run-task/robustcheckout.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/target_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/task.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/taskgraph.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/base.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/chunking.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/code_review.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/docker_image.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/fetch.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/from_deps.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/matrix.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/notify.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/run/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/run/common.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/run/index_search.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/run/run_task.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/run/toolchain.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/transforms/task_context.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/archive.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/attributes.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/caches.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/copy.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/dependencies.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/docker.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/hash.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/json.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/keyed_by.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/parameterization.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/path.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/python_path.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/readonlydict.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/schema.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/set_name.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/shell.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/task_context.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/taskcluster.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/taskgraph.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/templates.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/time.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/treeherder.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/vcs.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/verify.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/workertypes.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/util/yaml.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/config.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/REGISTRY +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/decision/Dockerfile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/decision/HASH +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/decision/README.md +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/decision/VERSION +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/decision/system-setup.sh +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/image_builder/README.rst +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/index-task/README +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/index-task/insert-indexes.js +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/python/Dockerfile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/run-task/system-setup.sh +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/skopeo/policy.json +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/docker/skopeo/push_image.sh +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/check/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/codecov/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/complete/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/doc/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/docker-image/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/fetch/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/push-image/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/test/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/test/linux.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/kinds/test/windows.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/scripts/codecov-upload.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/self_taskgraph/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/self_taskgraph/custom_parameters.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/self_taskgraph/custom_target_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/self_taskgraph/transforms/add_pr_route.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/self_taskgraph/transforms/push_image.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/test/params/main-repo-pull-request-untrusted.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/test/params/main-repo-pull-request.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/test/params/main-repo-push.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/test/params/main-repo-release-pytest-taskgraph.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/taskcluster/test/params/main-repo-release-taskcluster-taskgraph.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/cookiecutter.json +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/hooks/post_gen_project.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster/config.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster/docker/linux/Dockerfile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/docker-image/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster/kinds/hello/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster/{{cookiecutter.project_slug}}_taskgraph/transforms/hello.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/template/{{cookiecutter.project_name}}/taskcluster.github.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/__init__.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/automationrelevance.json +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/conftest.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/task_context.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/config.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/docker/hello-world/Dockerfile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/docker/hello-world-tag/Dockerfile +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/docker/hello-world-tag/REGISTRY +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/docker/hello-world-tag/VERSION +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/kinds/docker-image/kind.yml +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/scripts/toolchain/run.ps1 +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/scripts/toolchain/run.sh +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/taskcluster/test_taskgraph/transforms/foo.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/data/testmod/thing.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/mockedopen.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_actions_rebuild_cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_actions_registry.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_config.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_create.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_decision.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_docker.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_generator.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_graph_perf.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_main.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_morph.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_optimize.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_optimize_strategies.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_parameters.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_scripts_fetch_content.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_target_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_taskgraph.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transform_chunking.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transform_docker_image.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transform_task_context.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_base.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_fetch.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_from_deps.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_matrix.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_notify.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_run.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_run_run_task.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_run_toolchain.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_transforms_task.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_archive.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_attributes.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_cached_tasks.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_copy.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_dependencies.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_docker.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_json.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_keyed_by.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_parameterization.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_path.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_python_path.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_readonlydict.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_schema.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_taskcluster.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_templates.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_time.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_treeherder.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_vcs.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_verify.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_workertypes.py +0 -0
- {taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/test/test_util_yaml.py +0 -0
{taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/codeql-analysis.yml
RENAMED
|
@@ -39,10 +39,10 @@ jobs:
|
|
|
39
39
|
|
|
40
40
|
steps:
|
|
41
41
|
- name: Checkout repository
|
|
42
|
-
uses: actions/checkout@
|
|
42
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
43
43
|
# Initializes the CodeQL tools for scanning.
|
|
44
44
|
- name: Initialize CodeQL
|
|
45
|
-
uses: github/codeql-action/init@
|
|
45
|
+
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
|
46
46
|
with:
|
|
47
47
|
languages: ${{ matrix.language }}
|
|
48
48
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
56
56
|
# If this step fails, then you should remove it and run the build manually (see below)
|
|
57
57
|
- name: Autobuild
|
|
58
|
-
uses: github/codeql-action/autobuild@
|
|
58
|
+
uses: github/codeql-action/autobuild@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
|
59
59
|
|
|
60
60
|
# ℹ️ Command-line programs to run using the OS shell.
|
|
61
61
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
|
@@ -67,4 +67,4 @@ jobs:
|
|
|
67
67
|
# echo "Run, Build Application using script"
|
|
68
68
|
# ./location_of_script_within_repo/buildscript.sh
|
|
69
69
|
- name: Perform CodeQL Analysis
|
|
70
|
-
uses: github/codeql-action/analyze@
|
|
70
|
+
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
{taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/codspeed.yml
RENAMED
|
@@ -18,14 +18,14 @@ jobs:
|
|
|
18
18
|
contents: read # required for actions/checkout
|
|
19
19
|
id-token: write # required for OIDC authentication with CodSpeed
|
|
20
20
|
steps:
|
|
21
|
-
- uses: actions/checkout@
|
|
22
|
-
- uses: astral-sh/setup-uv@
|
|
21
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
22
|
+
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
23
23
|
with:
|
|
24
24
|
python-version: "3.12"
|
|
25
25
|
- name: Install dependencies
|
|
26
26
|
run: uv sync
|
|
27
27
|
- name: Run benchmarks
|
|
28
|
-
uses: CodSpeedHQ/action@
|
|
28
|
+
uses: CodSpeedHQ/action@373d6868929f444bc08d901fd0eb0ad52a8875ea # v5.2.1
|
|
29
29
|
with:
|
|
30
30
|
mode: simulation
|
|
31
31
|
run: uv run pytest test/ --codspeed
|
{taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/.github/workflows/pypi-publish.yml
RENAMED
|
@@ -12,8 +12,8 @@ jobs:
|
|
|
12
12
|
id-token: write
|
|
13
13
|
steps:
|
|
14
14
|
- name: Checkout sources
|
|
15
|
-
uses: actions/checkout@
|
|
16
|
-
- uses: actions/setup-python@
|
|
15
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
16
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
17
17
|
with:
|
|
18
18
|
python-version: '3.14'
|
|
19
19
|
cache: 'pip'
|
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
# Renovate offsets that by bumping the pinned SHA (tracked via the
|
|
29
29
|
# trailing `# vX.Y.Z` comment), so merge those bump PRs promptly.
|
|
30
30
|
- name: Publish package distributions to PyPI
|
|
31
|
-
uses: pypa/gh-action-pypi-publish@
|
|
31
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
32
32
|
pypi-publish-pytest-taskgraph:
|
|
33
33
|
name: upload release to PyPI
|
|
34
34
|
if: startsWith(github.ref, 'refs/tags/pytest-taskgraph')
|
|
@@ -38,8 +38,8 @@ jobs:
|
|
|
38
38
|
id-token: write
|
|
39
39
|
steps:
|
|
40
40
|
- name: Checkout sources
|
|
41
|
-
uses: actions/checkout@
|
|
42
|
-
- uses: actions/setup-python@
|
|
41
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
42
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
43
43
|
with:
|
|
44
44
|
python-version: '3.14'
|
|
45
45
|
cache: 'pip'
|
|
@@ -49,7 +49,7 @@ jobs:
|
|
|
49
49
|
pip install build
|
|
50
50
|
python -m build
|
|
51
51
|
- name: Publish package distributions to PyPI
|
|
52
|
-
uses: pypa/gh-action-pypi-publish@
|
|
52
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
53
53
|
with:
|
|
54
54
|
packages-dir: packages/pytest-taskgraph/dist
|
|
55
55
|
pypi-publish-sphinx-taskgraph:
|
|
@@ -61,8 +61,8 @@ jobs:
|
|
|
61
61
|
id-token: write
|
|
62
62
|
steps:
|
|
63
63
|
- name: Checkout sources
|
|
64
|
-
uses: actions/checkout@
|
|
65
|
-
- uses: actions/setup-python@
|
|
64
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
65
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
66
66
|
with:
|
|
67
67
|
python-version: '3.14'
|
|
68
68
|
cache: 'pip'
|
|
@@ -72,6 +72,6 @@ jobs:
|
|
|
72
72
|
pip install build
|
|
73
73
|
python -m build
|
|
74
74
|
- name: Publish package distributions to PyPI
|
|
75
|
-
uses: pypa/gh-action-pypi-publish@
|
|
75
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
76
76
|
with:
|
|
77
77
|
packages-dir: packages/sphinx-taskgraph/dist
|
|
@@ -13,13 +13,13 @@ repos:
|
|
|
13
13
|
exclude: template
|
|
14
14
|
- id: check-added-large-files
|
|
15
15
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
16
|
-
rev: v0.
|
|
16
|
+
rev: v0.16.5
|
|
17
17
|
hooks:
|
|
18
18
|
- id: ruff
|
|
19
19
|
args: [--fix, --exit-non-zero-on-fix]
|
|
20
20
|
- id: ruff-format
|
|
21
21
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
22
|
-
rev: 0.
|
|
22
|
+
rev: 0.12.8
|
|
23
23
|
hooks:
|
|
24
24
|
- id: uv-lock
|
|
25
25
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
@@ -28,7 +28,7 @@ repos:
|
|
|
28
28
|
- id: yamllint
|
|
29
29
|
exclude: template
|
|
30
30
|
- repo: https://github.com/codespell-project/codespell
|
|
31
|
-
rev: v2.4.
|
|
31
|
+
rev: v2.4.3
|
|
32
32
|
hooks:
|
|
33
33
|
- id: codespell
|
|
34
34
|
entry: codespell -I .codespell-ignore-words.txt
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [24.3.0] - 2026-09-17
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Git sparse checkout support (#1039)
|
|
8
|
+
- Support for checking out git trees in parallel (#1041)
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Improve performance of Graph.transitive_closure (#1014)
|
|
13
|
+
- Don't assume treeherder.group-names exists in graph config (#1024)
|
|
14
|
+
- Avoid seeking during tarball extraction on Windows in fetch-content (#1042)
|
|
15
|
+
|
|
3
16
|
## [24.2.3] - 2026-07-29
|
|
4
17
|
|
|
5
18
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: taskcluster-taskgraph
|
|
3
|
-
Version: 24.
|
|
3
|
+
Version: 24.3.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
|
|
@@ -61,20 +61,24 @@ class Graph(_Graph):
|
|
|
61
61
|
f"Unknown nodes in transitive closure: {nodes - self.nodes}"
|
|
62
62
|
)
|
|
63
63
|
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
# Build an adjacency map keyed by the node to expand from. This reduces
|
|
65
|
+
# traversal below from O(V·E) -> O(V+E).
|
|
66
|
+
adjacency = collections.defaultdict(list)
|
|
67
|
+
for edge in self.edges:
|
|
68
|
+
left, right, _ = edge
|
|
69
|
+
adjacency[right if reverse else left].append(edge)
|
|
70
|
+
|
|
71
|
+
new_nodes = set(nodes)
|
|
72
|
+
new_edges = set()
|
|
73
|
+
queue = collections.deque(nodes)
|
|
74
|
+
while queue:
|
|
75
|
+
node = queue.popleft()
|
|
76
|
+
for edge in adjacency.get(node, ()):
|
|
77
|
+
new_edges.add(edge)
|
|
78
|
+
neighbor = edge[0] if reverse else edge[1]
|
|
79
|
+
if neighbor not in new_nodes:
|
|
80
|
+
new_nodes.add(neighbor)
|
|
81
|
+
queue.append(neighbor)
|
|
78
82
|
return Graph(new_nodes, new_edges)
|
|
79
83
|
|
|
80
84
|
def _visit(self, reverse):
|
{taskcluster_taskgraph-24.2.3 → taskcluster_taskgraph-24.3.0}/src/taskgraph/run-task/fetch-content
RENAMED
|
@@ -18,6 +18,7 @@ import os
|
|
|
18
18
|
import pathlib
|
|
19
19
|
import random
|
|
20
20
|
import re
|
|
21
|
+
import shutil
|
|
21
22
|
import ssl
|
|
22
23
|
import stat
|
|
23
24
|
import subprocess
|
|
@@ -377,6 +378,70 @@ def archive_type(path: pathlib.Path):
|
|
|
377
378
|
return None
|
|
378
379
|
|
|
379
380
|
|
|
381
|
+
class TarFile(tarfile.TarFile):
|
|
382
|
+
# When a tarball contains symbolic links, the python tarfile module ends up
|
|
383
|
+
# trying to seek in the tar, which doesn't quite work when the tar is a
|
|
384
|
+
# stream (which it is when decompressing at the same time). We wrap TarFile
|
|
385
|
+
# so as to handle the symbolic link situation ourselves, and when we can't
|
|
386
|
+
# create symbolic links (e.g. on Windows), we instead create a copy of the
|
|
387
|
+
# file the link points to.
|
|
388
|
+
def _do_extract(
|
|
389
|
+
self, extract, member, path="", set_attrs=True, numeric_owner=False, **kwargs
|
|
390
|
+
):
|
|
391
|
+
deferred_links = getattr(self, "_deferred_links", None)
|
|
392
|
+
if not isinstance(member, tarfile.TarInfo):
|
|
393
|
+
member = self.getmember(member)
|
|
394
|
+
targetpath = os.path.normcase(os.path.join(path, member.name))
|
|
395
|
+
|
|
396
|
+
if deferred_links is not None and member.issym():
|
|
397
|
+
if os.path.lexists(targetpath):
|
|
398
|
+
# Avoid FileExistsError on following os.symlink.
|
|
399
|
+
os.unlink(targetpath)
|
|
400
|
+
try:
|
|
401
|
+
os.symlink(member.linkname, targetpath)
|
|
402
|
+
except (NotImplementedError, OSError):
|
|
403
|
+
# On Windows, os.symlink can fail, in this case fallback to
|
|
404
|
+
# creating a copy. If the destination was not already created,
|
|
405
|
+
# defer the link creation.
|
|
406
|
+
source = os.path.normcase(
|
|
407
|
+
os.path.join(os.path.dirname(targetpath), member.linkname)
|
|
408
|
+
)
|
|
409
|
+
|
|
410
|
+
if source in self._extracted_members:
|
|
411
|
+
shutil.copy(source, targetpath)
|
|
412
|
+
self.chown(member, targetpath, numeric_owner)
|
|
413
|
+
else:
|
|
414
|
+
deferred_links.setdefault(source, []).append(
|
|
415
|
+
(member, targetpath, numeric_owner)
|
|
416
|
+
)
|
|
417
|
+
return
|
|
418
|
+
|
|
419
|
+
extract(member, path, set_attrs, numeric_owner=numeric_owner, **kwargs)
|
|
420
|
+
if deferred_links is not None:
|
|
421
|
+
for tarinfo, linkpath, numeric_owner in deferred_links.pop(targetpath, []):
|
|
422
|
+
shutil.copy(targetpath, linkpath)
|
|
423
|
+
self.chown(tarinfo, linkpath, numeric_owner)
|
|
424
|
+
self._extracted_members.add(targetpath)
|
|
425
|
+
|
|
426
|
+
def extract(self, *args, **kwargs):
|
|
427
|
+
self._do_extract(super(TarFile, self).extract, *args, **kwargs)
|
|
428
|
+
|
|
429
|
+
# extractall in versions for cpython that implement PEP 706 call _extract_one
|
|
430
|
+
# instead of extract.
|
|
431
|
+
def _extract_one(self, *args, **kwargs):
|
|
432
|
+
self._do_extract(super(TarFile, self)._extract_one, *args, **kwargs)
|
|
433
|
+
|
|
434
|
+
def extractall(self, *args, **kwargs):
|
|
435
|
+
self._deferred_links = {}
|
|
436
|
+
self._extracted_members = set()
|
|
437
|
+
super(TarFile, self).extractall(*args, **kwargs)
|
|
438
|
+
for links in self._deferred_links.values():
|
|
439
|
+
for tarinfo, linkpath, numeric_owner in links:
|
|
440
|
+
log(f"Cannot create dangling symbolic link: {linkpath}")
|
|
441
|
+
delattr(self, "_deferred_links")
|
|
442
|
+
delattr(self, "_extracted_members")
|
|
443
|
+
|
|
444
|
+
|
|
380
445
|
def extract_archive(path, dest_dir):
|
|
381
446
|
"""Extract an archive to a destination directory."""
|
|
382
447
|
|
|
@@ -398,7 +463,7 @@ def extract_archive(path, dest_dir):
|
|
|
398
463
|
# also not much slower on Windows, presumably because of the
|
|
399
464
|
# notoriously bad I/O).
|
|
400
465
|
if sys.platform == "win32":
|
|
401
|
-
tar =
|
|
466
|
+
tar = TarFile.open(fileobj=ifh, mode="r|")
|
|
402
467
|
tar.extractall(str(dest_dir))
|
|
403
468
|
args = []
|
|
404
469
|
else:
|