# Copyright Advanced Micro Devices, Inc. # SPDX-License-Identifier: MIT name: Multi-Arch CI ASAN on: # TODO: Enable postsubmit ASAN once we have capacity # push: # branches: # - main workflow_dispatch: inputs: linux_amdgpu_families: type: string description: "Insert comma-separated list of Linux GPU families to build and test. ex: gfx94X, gfx120X" default: "" linux_test_labels: type: string description: "If enabled, reduce test set on Linux to the list of labels prefixed with 'test:'. ex: test:rocprim, test:hipcub" default: "" prebuilt_stages: type: string default: "" description: "Comma-separated build stages to skip (or 'all' for all stages); artifacts are copied from baseline_run_id instead" baseline_run_id: type: string default: "" description: "Workflow run ID to copy prebuilt stage artifacts from; required when prebuilt_stages is set" pull_request: types: - labeled - opened - synchronize permissions: contents: read concurrency: # See https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency # # Only allow one run at a time for 'pull_request' events. # Allow multiple runs for 'push' and 'workflow_dispatch'. # # `github.workflow`: each workflow gets its own concurrency group # `github.head_ref`: the branch name (only defined for pull_request events) # `github.run_id` : fallback, unique for each run group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: setup: uses: ./.github/workflows/setup_multi_arch.yml with: build_variant: "asan" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || '' }} linux_test_labels: ${{ inputs.linux_test_labels || '' }} prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} build_pytorch: false build_jax: false linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} needs: setup if: >- ${{ needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} uses: ./.github/workflows/multi_arch_ci_linux.yml secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} test_labels: ${{ needs.setup.outputs.linux_test_labels }} rocm_package_version: ${{ needs.setup.outputs.rocm_package_version }} rocm_deb_package_version: ${{ needs.setup.outputs.rocm_deb_package_version }} rocm_rpm_package_version: ${{ needs.setup.outputs.rocm_rpm_package_version }} test_type: ${{ needs.setup.outputs.test_type }} permissions: contents: read id-token: write ci_summary: name: CI Summary if: always() needs: - setup - linux_build_and_test runs-on: ubuntu-24.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Evaluate workflow results env: GITHUB_TOKEN: ${{ github.token }} run: | python build_tools/github_actions/workflow_summary.py \ --needs-json '${{ toJSON(needs) }}'