# Copyright Advanced Micro Devices, Inc. # SPDX-License-Identifier: MIT # This workflow is the entry point for ASAN releases. # # Modeled on multi_arch_release.yml but uses the ASAN build variant. name: Multi-Arch Release ASAN on: workflow_call: inputs: release_type: description: 'Release type: "dev", "nightly", or "prerelease".' type: string required: true prerelease_version: description: Prerelease version number such as '2'. This gets appended to the computed version after 'rc', like '7.10.0rc2' type: string default: "" # For workflow_call, default to empty and trust the calling workflow to be explicit or pass "all". linux_amdgpu_families: description: 'Comma-separated list of Linux GPU families. "all" = all, "none" or empty = skip.' type: string default: "" repository: description: "Repository to checkout. Defaults to github.repository." type: string default: "" ref: description: "Branch, tag, or SHA to checkout. Defaults to the triggering ref." type: string default: "" run_full_pytorch_tests: description: Run full PyTorch tests after scheduled nightly Linux PyTorch wheel builds complete. type: boolean default: false build_pytorch: description: "Build PyTorch wheels" type: boolean default: true python_version: description: "Single Python version for wheel builds (empty for full matrix)" type: string default: "" workflow_dispatch: inputs: release_type: description: 'Release type; developer-triggered jobs should use "dev".' type: choice options: - dev default: dev # For workflow_dispatch, default to a single GPU family to limit CI load for most workflow runs. # Note: empty string will be converted to the default by github, so we need an explicit "none". linux_amdgpu_families: description: 'Comma-separated list of Linux GPU families. "all" = all, "none" = skip platform.' type: string default: "gfx94x" run_full_pytorch_tests: description: Run full PyTorch tests after scheduled nightly Linux PyTorch wheel builds complete. type: boolean default: false build_pytorch: description: "Build PyTorch wheels" type: boolean default: false python_version: description: "Single Python version for wheel builds (empty for full matrix)" type: string default: "" permissions: contents: read run-name: >- Multi-Arch Release ASAN (${{ inputs.release_type || 'dev' }}) | Linux: ${{ inputs.linux_amdgpu_families || 'all' }} jobs: setup: uses: ./.github/workflows/setup_multi_arch.yml with: build_variant: "asan" release_type: ${{ inputs.release_type || 'dev' }} prerelease_version: ${{ inputs.prerelease_version }} linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'all' }} windows_amdgpu_families: "none" build_pytorch: false build_jax: false python_version: ${{ inputs.python_version }} repository: ${{ inputs.repository || github.repository }} ref: ${{ inputs.ref }} linux_release: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} needs: setup if: ${{ needs.setup.outputs.linux_build_config != '' }} uses: ./.github/workflows/multi_arch_release_linux.yml secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} 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 }} release_type: ${{ inputs.release_type || 'dev' }} repository: ${{ inputs.repository || github.repository }} ref: ${{ needs.setup.outputs.ref }} run_full_pytorch_tests: ${{ inputs.run_full_pytorch_tests }} build_pytorch: ${{ inputs.build_pytorch }} build_jax: false python_version: ${{ inputs.python_version }} build_variant: "asan" permissions: contents: read actions: write id-token: write