CI: Add support in yml for detecting darc dependency changes in `eng/Version.Details...
authorAnkit Jain <radical@gmail.com>
Tue, 9 Aug 2022 19:15:58 +0000 (15:15 -0400)
committerGitHub <noreply@github.com>
Tue, 9 Aug 2022 19:15:58 +0000 (15:15 -0400)
commit4211dc40d06195682d4b0fc9a220bdb75732d720
treeb96cb0c095fc128c6242716ff05d5aa6ff34f696
parent5f80c24a6600e9d52a84f22d7b6088fe63180cee
CI: Add support in yml for detecting darc dependency changes in `eng/Version.Details.xml` (#73435)

## Issue

Currently, whenever a darc flow PR is opened, we cannot trigger different jobs based on which
dependency got updated. This is needed because in some cases, like for ILLinker, Emscripten
updates we want to trigger all the wasm jobs. But that might not be needed for some of the other
dependencies.

- This causes failures to slip through to `main`, which gets discovered after the fact as other PR
failures, or rolling build failures, creating extra work for developers.

## Solution

- This PR identifies the changed dependencies, and emits one azure variable per dependency,
which can then be used in conditions in the yml .
- The changed dependency can be checked as `dependencies.evaluate_paths.outputs['DarcDependenciesChanged.System_CommandLine']`

- Included this in the `evaluate_paths` job itself, instead of creating another job

- Also, use this for wasm jobs
eng/pipelines/common/evaluate-changed-darc-deps.yml [new file with mode: 0644]
eng/pipelines/common/evaluate-paths-job.yml
eng/pipelines/common/templates/wasm-build-only.yml
eng/pipelines/common/templates/wasm-build-tests.yml
eng/pipelines/common/templates/wasm-debugger-tests.yml
eng/pipelines/common/templates/wasm-library-tests.yml
eng/pipelines/common/templates/wasm-runtime-tests.yml
eng/pipelines/common/xplat-setup.yml
eng/pipelines/evaluate-changed-darc-deps.sh [new file with mode: 0755]
eng/pipelines/get-changed-darc-deps.py [new file with mode: 0644]