From 9e8c182be53cccdd314933833bdd41f67d4e0827 Mon Sep 17 00:00:00 2001 From: Daniel Su Date: Wed, 6 Aug 2025 13:45:38 -0400 Subject: [PATCH] [Ex CI] create component trigger files (#29) --- .azuredevops/rdc.yml | 45 +++++++ .azuredevops/rocm-core.yml | 44 +++++++ .azuredevops/rocm-smi-lib.yml | 45 +++++++ .azuredevops/rocminfo.yml | 43 +++++++ .azuredevops/rocprofiler-compute.yml | 47 ++++++++ .azuredevops/rocprofiler-register.yml | 44 +++++++ .azuredevops/rocprofiler-sdk.yml | 45 +++++++ .azuredevops/rocprofiler-systems.yml | 47 ++++++++ .azuredevops/rocprofiler.yml | 44 +++++++ .azuredevops/rocr-runtime.yml | 43 +++++++ .azuredevops/roctracer.yml | 44 +++++++ .../report-summary-check-wrapper.yml | 19 +++ .../templates/report-summary-check.yml | 112 ++++++++++++++++++ .github/scripts/azure_resolve_subtree_deps.py | 38 +----- 14 files changed, 626 insertions(+), 34 deletions(-) create mode 100644 .azuredevops/rdc.yml create mode 100644 .azuredevops/rocm-core.yml create mode 100644 .azuredevops/rocm-smi-lib.yml create mode 100644 .azuredevops/rocminfo.yml create mode 100644 .azuredevops/rocprofiler-compute.yml create mode 100644 .azuredevops/rocprofiler-register.yml create mode 100644 .azuredevops/rocprofiler-sdk.yml create mode 100644 .azuredevops/rocprofiler-systems.yml create mode 100644 .azuredevops/rocprofiler.yml create mode 100644 .azuredevops/rocr-runtime.yml create mode 100644 .azuredevops/roctracer.yml create mode 100644 .azuredevops/templates/report-summary-check-wrapper.yml create mode 100644 .azuredevops/templates/report-summary-check.yml diff --git a/.azuredevops/rdc.yml b/.azuredevops/rdc.yml new file mode 100644 index 0000000000..d864a7f9ae --- /dev/null +++ b/.azuredevops/rdc.yml @@ -0,0 +1,45 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rdc + exclude: + - projects/rdc/.github + - projects/rdc/docs + - projects/rdc/.*.y*ml + - projects/rdc/*.md + - projects/rdc/LICENSE + +pr: none + +stages: +- stage: rdc + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rdc.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rdc + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocm-core.yml b/.azuredevops/rocm-core.yml new file mode 100644 index 0000000000..0ab8ca9558 --- /dev/null +++ b/.azuredevops/rocm-core.yml @@ -0,0 +1,44 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocm-core + exclude: + - projects/rocm-core/CHANGELOG.md + - projects/rocm-core/CODEOWNERS + - projects/rocm-core/copyright + - projects/rocm-core/README.txt + +pr: none + +stages: +- stage: rocm_core + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocm-core.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocm-core + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocm-smi-lib.yml b/.azuredevops/rocm-smi-lib.yml new file mode 100644 index 0000000000..95edbcd570 --- /dev/null +++ b/.azuredevops/rocm-smi-lib.yml @@ -0,0 +1,45 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocm-smi-lib + exclude: + - projects/rocm-smi-lib/.github + - projects/rocm-smi-lib/docs + - projects/rocm-smi-lib/.*.y*ml + - projects/rocm-smi-lib/*.md + - projects/rocm-smi-lib/License.txt + +pr: none + +stages: +- stage: rocm_smi_lib + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocm_smi_lib.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocm-smi-lib + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocminfo.yml b/.azuredevops/rocminfo.yml new file mode 100644 index 0000000000..3b5f9e22eb --- /dev/null +++ b/.azuredevops/rocminfo.yml @@ -0,0 +1,43 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocminfo + exclude: + - projects/rocminfo/.github + - projects/rocminfo/License.txt + - projects/rocminfo/README.md + +pr: none + +stages: +- stage: rocminfo + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocminfo.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocminfo + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocprofiler-compute.yml b/.azuredevops/rocprofiler-compute.yml new file mode 100644 index 0000000000..25f845672b --- /dev/null +++ b/.azuredevops/rocprofiler-compute.yml @@ -0,0 +1,47 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocprofiler-compute + exclude: + - projects/rocprofiler-compute/.github + - projects/rocprofiler-compute/docs + - projects/rocprofiler-compute/.*.y*ml + - projects/rocprofiler-compute/*.md + - projects/rocprofiler-compute/AUTHORS + - projects/rocprofiler-compute/LICENSE + - projects/rocprofiler-compute/VERSION + +pr: none + +stages: +- stage: rocprofiler_compute + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-compute.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocprofiler-compute + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocprofiler-register.yml b/.azuredevops/rocprofiler-register.yml new file mode 100644 index 0000000000..9aceb0ded4 --- /dev/null +++ b/.azuredevops/rocprofiler-register.yml @@ -0,0 +1,44 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocprofiler-register + exclude: + - projects/rocprofiler-register/.github + - projects/rocprofiler-register/LICENSE + - projects/rocprofiler-register/README.md + - projects/rocprofiler-register/VERSION + +pr: none + +stages: +- stage: rocprofiler_register + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-register.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocprofiler-register + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocprofiler-sdk.yml b/.azuredevops/rocprofiler-sdk.yml new file mode 100644 index 0000000000..8536db7fc3 --- /dev/null +++ b/.azuredevops/rocprofiler-sdk.yml @@ -0,0 +1,45 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocprofiler-sdk + exclude: + - projects/rocprofiler-sdk/.github + - projects/rocprofiler-sdk/ISSUE_TEMPLATE + - projects/rocprofiler-sdk/*.md + - projects/rocprofiler-sdk/CODEOWNERS + - projects/rocprofiler-sdk/LICENSE + +pr: none + +stages: +- stage: rocprofiler_sdk + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-sdk.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocprofiler-sdk + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocprofiler-systems.yml b/.azuredevops/rocprofiler-systems.yml new file mode 100644 index 0000000000..77f6dcdf8d --- /dev/null +++ b/.azuredevops/rocprofiler-systems.yml @@ -0,0 +1,47 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocprofiler-systems + exclude: + - projects/rocprofiler-systems/.github + - projects/rocprofiler-systems/docs + - projects/rocprofiler-systems/.*.y*ml + - projects/rocprofiler-systems/*.md + - projects/rocprofiler-systems/LICENSE + - projects/rocprofiler-systems/VERSION + - projects/rocprofiler-systems/.wordlist.txt + +pr: none + +stages: +- stage: rocprofiler_systems + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-systems.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocprofiler-systems + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocprofiler.yml b/.azuredevops/rocprofiler.yml new file mode 100644 index 0000000000..2244c1d619 --- /dev/null +++ b/.azuredevops/rocprofiler.yml @@ -0,0 +1,44 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocprofiler + exclude: + - projects/rocprofiler/.github + - projects/rocprofiler/doc + - projects/rocprofiler/LICENSE + - projects/rocprofiler/*.md + +pr: none + +stages: +- stage: rocprofiler + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocprofiler + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/rocr-runtime.yml b/.azuredevops/rocr-runtime.yml new file mode 100644 index 0000000000..28f6d85fb3 --- /dev/null +++ b/.azuredevops/rocr-runtime.yml @@ -0,0 +1,43 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/rocr-runtime + exclude: + - projects/rocr-runtime/.github + - projects/rocr-runtime/LICENSE.txt + - projects/rocr-runtime/*.md + +pr: none + +stages: +- stage: rocr_runtime + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/ROCR-Runtime.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/rocr-runtime + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/roctracer.yml b/.azuredevops/roctracer.yml new file mode 100644 index 0000000000..4c598da628 --- /dev/null +++ b/.azuredevops/roctracer.yml @@ -0,0 +1,44 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +parameters: +- name: pipelinesRepoRef + type: string + default: refs/heads/develop +- name: triggerDownstreamJobs + type: boolean + default: true + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + ref: ${{ parameters.pipelinesRepoRef }} + +trigger: + batch: true + branches: + include: + - develop + paths: + include: + - projects/roctracer + exclude: + - projects/roctracer/.github + - projects/roctracer/doc + - projects/roctracer/LICENSE + - projects/roctracer/README.md + +pr: none + +stages: +- stage: roctracer + jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/roctracer.yml@pipelines_repo + parameters: + sparseCheckoutDir: projects/roctracer + triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }} +- template: templates/report-summary-check-wrapper.yml diff --git a/.azuredevops/templates/report-summary-check-wrapper.yml b/.azuredevops/templates/report-summary-check-wrapper.yml new file mode 100644 index 0000000000..f89dbaf6f1 --- /dev/null +++ b/.azuredevops/templates/report-summary-check-wrapper.yml @@ -0,0 +1,19 @@ +stages: +- stage: report_successful + condition: succeeded() + jobs: + - template: report-summary-check.yml + parameters: + checkConclusion: success +- stage: report_failed + condition: failed() + jobs: + - template: report-summary-check.yml + parameters: + checkConclusion: failure +- stage: report_cancelled + condition: canceled() # note: only 1 L in canceled() + jobs: + - template: report-summary-check.yml + parameters: + checkConclusion: cancelled diff --git a/.azuredevops/templates/report-summary-check.yml b/.azuredevops/templates/report-summary-check.yml new file mode 100644 index 0000000000..e4f8dcfdfb --- /dev/null +++ b/.azuredevops/templates/report-summary-check.yml @@ -0,0 +1,112 @@ +parameters: +- name: checkConclusion + type: string + default: success + values: + - success + - failure + - cancelled + +jobs: +- job: report_summary_check + displayName: 'Report check status: ${{ parameters.checkConclusion }}' + variables: + - group: systems-assistant + pool: + vmImage: ubuntu-latest + steps: + - checkout: none + - task: Bash@3 + displayName: Install GitHub CLI + condition: always() + inputs: + targetType: 'inline' + script: | + (type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \ + && sudo mkdir -p -m 755 /etc/apt/keyrings \ + && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \ + && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ + && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ + && sudo mkdir -p -m 755 /etc/apt/sources.list.d \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && sudo apt update \ + && sudo apt install gh jq -y + - task: Bash@3 + displayName: Report CI status to GitHub PR Summary Check + condition: always() + env: + APP_ID: $(APP_ID) + APP_INSTALLATION_ID: $(APP_INSTALLATION_ID) + APP_PRIVATE_KEY: $(APP_PRIVATE_KEY) + inputs: + targetType: 'inline' + script: | + if [[ ! "$(Build.SourceBranch)" =~ ^refs/pull/ ]]; then + echo "This is not a PR build. Exiting." + exit 0 + fi + + # APP_PRIVATE_KEY is generated with `base64 app_private_key.pem | tr -d '\n'` + echo "$APP_PRIVATE_KEY" | base64 -d > app_private_key.pem + chmod 600 app_private_key.pem + create_jwt() { + local header=$(echo -n '{"alg":"RS256","typ":"JWT"}' | openssl base64 -e | tr -d '=' | tr '/+' '_-' | tr -d '\n') + local payload=$(echo -n "{\"iat\":$(date +%s),\"exp\":$(($(date +%s) + 600)),\"iss\":\"$APP_ID\"}" | openssl base64 -e | tr -d '=' | tr '/+' '_-' | tr -d '\n') + local unsigned_token="${header}.${payload}" + local signature=$(echo -n "$unsigned_token" | openssl dgst -sha256 -sign "app_private_key.pem" | openssl base64 -e | tr -d '=' | tr '/+' '_-' | tr -d '\n') + echo "${unsigned_token}.${signature}" + } + JWT=$(create_jwt) + export GH_TOKEN=$(curl -sSX POST \ + -H "Authorization: Bearer $JWT" \ + -H "Accept: application/vnd.github+json" \ + "https://api.github.com/app/installations/$APP_INSTALLATION_ID/access_tokens" | jq -r .token) + + PR_NUMBER=$(echo "$(Build.SourceBranch)" | sed 's|refs/pull/\([0-9]*\)/.*|\1|') + PR_HEAD_SHA=$(curl -s "https://api.github.com/repos/ROCm/rocm-systems/pulls/$PR_NUMBER" | jq -r '.head.sha') + CHECK=$(curl -s "https://api.github.com/repos/ROCm/rocm-systems/commits/$PR_HEAD_SHA/check-runs" | jq -r '.check_runs[] | select(.name == "Azure CI Summary")') + CHECK_ID=$(echo "$CHECK" | jq -r '.id') + CHECK_SUMMARY=$(echo "$CHECK" | jq -r '.output.summary') + CHECK_TEXT=$(echo "$CHECK" | jq -r '.output.text') + + if [[ -z "$CHECK_ID" ]]; then + echo "No Azure CI Summary check found for commit $PR_HEAD_SHA" + exit 0 + fi + if [[ "$CHECK_SUMMARY" == *"$(Build.BuildId)"* ]]; then + CHECK_SUMMARY=$(echo "$CHECK_SUMMARY" | sed "s/buildId=$(Build.BuildId)[^|]*|[^|]*|/buildId=$(Build.BuildId)) | ${{ parameters.checkConclusion }} |/") + fi + if [[ "$CHECK_TEXT" == *"$(Build.BuildId)="* ]]; then + CHECK_TEXT=$(echo "$CHECK_TEXT" | sed "s/$(Build.BuildId)=[^;]*;/$(Build.BuildId)=${{ parameters.checkConclusion }};/") + fi + + CHECK_STATUS=$(echo "$CHECK_TEXT" | grep -q "pending" && echo "in_progress" || echo "completed") + CHECK_CONCLUSION=$(echo "$CHECK_TEXT" | grep -q -e "cancelled" -e "failure" && echo "failure" || echo "success") + + if [[ "$CHECK_STATUS" == "completed" ]]; then + gh_output=$(gh api repos/ROCm/rocm-systems/check-runs/$CHECK_ID \ + -X PATCH \ + -f "name=Azure CI Summary" \ + -f "head_sha=$PR_HEAD_SHA" \ + -f "status=$CHECK_STATUS" \ + -f "conclusion=$CHECK_CONCLUSION" \ + -f "output[title]=Azure CI Summary" \ + -f "output[summary]=$CHECK_SUMMARY" \ + -f "output[text]=$CHECK_TEXT") + else + gh_output=$(gh api repos/ROCm/rocm-systems/check-runs/$CHECK_ID \ + -X PATCH \ + -f "name=Azure CI Summary" \ + -f "head_sha=$PR_HEAD_SHA" \ + -f "output[title]=Azure CI Summary" \ + -f "output[summary]=$CHECK_SUMMARY" \ + -f "output[text]=$CHECK_TEXT") + fi + + echo "Reported status '${{ parameters.checkConclusion }}' to summary check: $(echo "$gh_output" | jq -r '.id')" + if [[ "$CHECK_STATUS" == "completed" ]]; then + echo "All checks completed with overall conclusion: $CHECK_CONCLUSION" + else + echo "Some checks are still in progress: $CHECK_STATUS" + fi + echo "Summary check URL: $(echo "$gh_output" | jq -r '.html_url')" diff --git a/.github/scripts/azure_resolve_subtree_deps.py b/.github/scripts/azure_resolve_subtree_deps.py index 58f6bb247f..b876c6ed6e 100644 --- a/.github/scripts/azure_resolve_subtree_deps.py +++ b/.github/scripts/azure_resolve_subtree_deps.py @@ -66,47 +66,17 @@ def resolve_dependencies(projects, dependencies): def main(argv=None) -> None: """Main function to process the projects and output those to be run.""" - # Mathlib build+test dependency tree as defined in Azure CI and TheRock - math_dependencies = { - "shared/tensile": {}, - "projects/rocrand": {}, - "projects/hiprand": {"projects/rocrand"}, - "projects/rocfft": {"projects/hiprand"}, - "projects/hipfft": {"projects/rocfft"}, - "projects/rocprim": {}, - "projects/hipcub": {"projects/rocprim"}, - "projects/rocthrust": {"projects/rocprim"}, - "projects/hipblas-common": {}, - "projects/hipblaslt": {"projects/hipblas-common"}, - "projects/rocblas": {"projects/hipblaslt"}, - "projects/rocsolver": {"projects/rocprim", "projects/rocblas"}, - "projects/rocsparse": {"projects/rocprim", "projects/rocblas"}, - "projects/hipblas": {"projects/rocsolver"}, - "projects/hipsolver": {"projects/rocsolver", "projects/rocsparse"}, - "projects/hipsparse": {"projects/rocsparse"}, - "projects/hipsparselt": {"projects/hipsparse"}, - "projects/miopen": {"projects/rocrand", "projects/hipblas"} + # Systems build+test dependency tree as defined in Azure CI and TheRock + systems_dependencies = { } # Azure pipeline IDs for each project, to be populated as projects are enabled definition_ids = { - "shared/tensile": 305, - "projects/rocrand": 274, - "projects/hiprand": 275, - "projects/rocfft": 282, - "projects/hipfft": 283, - "projects/rocprim": 273, - "projects/hipcub": 277, - "projects/rocthrust": 276, - "projects/hipblas-common": 300, - "projects/hipblaslt": 301, - "projects/hipsparselt": 309, - "projects/rocblas": 302, - "projects/rocsolver": 303, + "projects/rocprofiler-register": 327, } args = parse_arguments(argv) projects = read_file_into_set(args.subtree_file) - projects_to_run = resolve_dependencies(projects, math_dependencies) + projects_to_run = resolve_dependencies(projects, systems_dependencies) for project in projects_to_run: if project in definition_ids: