diff --git a/.github/workflows/multi_arch_release.yml b/.github/workflows/multi_arch_release.yml index a8449fa6..c0d9cde2 100644 --- a/.github/workflows/multi_arch_release.yml +++ b/.github/workflows/multi_arch_release.yml @@ -50,6 +50,21 @@ run-name: >- | Windows: ${{ inputs.windows_amdgpu_families || 'all' }} jobs: + notify_quartz_start: + name: "Quartz - started - release (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: multi_arch_release.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + release: uses: ROCm/TheRock/.github/workflows/multi_arch_release.yml@main secrets: inherit @@ -65,3 +80,20 @@ jobs: contents: write actions: write id-token: write + + notify_quartz_completed: + name: "Quartz - completed - release (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [release] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: multi_arch_release.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/multi_arch_release_linux_jax_wheels.yml b/.github/workflows/multi_arch_release_linux_jax_wheels.yml index 7039fcb0..c97610c7 100644 --- a/.github/workflows/multi_arch_release_linux_jax_wheels.yml +++ b/.github/workflows/multi_arch_release_linux_jax_wheels.yml @@ -42,6 +42,21 @@ permissions: run-name: Multi-Arch Release Linux JAX Wheels (${{ inputs.release_type }}, ${{ inputs.rocm_version }}, Multiarch) jobs: + notify_quartz_start: + name: "Quartz - started - release JAX wheels (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: multi_arch_release_linux_jax_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + build_jax_wheels: uses: ROCm/TheRock/.github/workflows/multi_arch_release_linux_jax_wheels.yml@main secrets: inherit @@ -53,3 +68,20 @@ jobs: repository: ${{ inputs.repository || 'ROCm/TheRock' }} ref: ${{ inputs.ref || '' }} python_version: ${{ inputs.python_version }} + + notify_quartz_completed: + name: "Quartz - completed - release JAX wheels (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [build_jax_wheels] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: multi_arch_release_linux_jax_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/multi_arch_release_linux_pytorch_wheels.yml b/.github/workflows/multi_arch_release_linux_pytorch_wheels.yml index d91a982e..181448b1 100644 --- a/.github/workflows/multi_arch_release_linux_pytorch_wheels.yml +++ b/.github/workflows/multi_arch_release_linux_pytorch_wheels.yml @@ -54,6 +54,21 @@ permissions: run-name: Multi-Arch Release Linux PyTorch Wheels (${{ inputs.amdgpu_families }}, ${{ inputs.release_type }}, ${{ inputs.rocm_version }}) jobs: + notify_quartz_start: + name: "Quartz - started - release PyTorch wheels (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: multi_arch_release_linux_pytorch_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + release: uses: ROCm/TheRock/.github/workflows/multi_arch_release_linux_pytorch_wheels.yml@main with: @@ -66,3 +81,20 @@ jobs: repository: "ROCm/TheRock" ref: ${{ inputs.ref || '' }} python_version: ${{ inputs.python_version }} + + notify_quartz_completed: + name: "Quartz - completed - release PyTorch wheels (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [release] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: multi_arch_release_linux_pytorch_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/multi_arch_release_windows_pytorch_wheels.yml b/.github/workflows/multi_arch_release_windows_pytorch_wheels.yml index 56f73b15..19f6eee6 100644 --- a/.github/workflows/multi_arch_release_windows_pytorch_wheels.yml +++ b/.github/workflows/multi_arch_release_windows_pytorch_wheels.yml @@ -49,6 +49,21 @@ permissions: run-name: Multi-Arch Release Windows PyTorch Wheels (${{ inputs.amdgpu_families }}, ${{ inputs.release_type }}, ${{ inputs.rocm_version }}) jobs: + notify_quartz_start: + name: "Quartz - started - release PyTorch wheels (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: multi_arch_release_windows_pytorch_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + release: uses: ROCm/TheRock/.github/workflows/multi_arch_release_windows_pytorch_wheels.yml@main with: @@ -60,3 +75,20 @@ jobs: repository: "ROCm/TheRock" ref: ${{ inputs.ref || '' }} python_version: ${{ inputs.python_version }} + + notify_quartz_completed: + name: "Quartz - completed - release PyTorch wheels (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [release] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: multi_arch_release_windows_pytorch_wheels.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/test_artifacts.yml b/.github/workflows/test_artifacts.yml index 546ac2eb..8b96a02a 100644 --- a/.github/workflows/test_artifacts.yml +++ b/.github/workflows/test_artifacts.yml @@ -62,6 +62,21 @@ permissions: run-name: Test Artifacts (${{ inputs.amdgpu_families }}, ${{ inputs.release_type || 'ci' }}, ${{ inputs.test_type }}, ${{ inputs.build_variant }}, ${{ inputs.test_runs_on }}) jobs: + notify_quartz_start: + name: "Quartz - started - test ROCm artifacts (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: test_artifacts.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + test: uses: ROCm/TheRock/.github/workflows/test_artifacts.yml@main secrets: inherit @@ -81,3 +96,20 @@ jobs: repository: ${{ inputs.repository }} ref: ${{ inputs.ref }} build_variant: ${{ inputs.build_variant }} + + notify_quartz_completed: + name: "Quartz - completed - test ROCm artifacts (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [test] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: test_artifacts.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/test_native_linux_packages_install.yml b/.github/workflows/test_native_linux_packages_install.yml index e1ee3f3e..968cf36c 100644 --- a/.github/workflows/test_native_linux_packages_install.yml +++ b/.github/workflows/test_native_linux_packages_install.yml @@ -54,6 +54,21 @@ permissions: run-name: Test Native Linux Packages Install (${{ inputs.os_profile }}, ${{ inputs.release_type }}, ${{ inputs.test_type || 'sanity' }}) jobs: + notify_quartz_start: + name: "Quartz - started - test rpm/deb install (rockrel)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: test_native_linux_packages_install.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + test: uses: ROCm/TheRock/.github/workflows/test_native_linux_packages_install.yml@main secrets: inherit @@ -67,3 +82,20 @@ jobs: test_type: ${{ inputs.test_type }} repository: ${{ inputs.repository }} ref: ${{ inputs.ref }} + + notify_quartz_completed: + name: "Quartz - completed - test rpm/deb install (rockrel)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [test] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: test_native_linux_packages_install.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} diff --git a/.github/workflows/test_pytorch_wheels_full.yml b/.github/workflows/test_pytorch_wheels_full.yml index 8cc002e9..a0da8d2a 100644 --- a/.github/workflows/test_pytorch_wheels_full.yml +++ b/.github/workflows/test_pytorch_wheels_full.yml @@ -1,78 +1,110 @@ -# Copyright Advanced Micro Devices, Inc. -# SPDX-License-Identifier: MIT - -# Thin wrapper that dispatches to TheRock's test_pytorch_wheels_full.yml. -# This exists so release workflows running in rockrel can dispatch the -# workflow by name in this repository, then run the reusable workflow from -# TheRock with explicit checkout plumbing. - -name: Test PyTorch Wheels (Full Suite) - -on: - workflow_dispatch: - inputs: - amdgpu_family: - type: string - required: true - default: "gfx94X-dcgpu" - test_runs_on: - type: string - required: true - default: "linux-gfx942-1gpu-ccs-csp-ossci-rocm" - test_runs_on_multi_gpu: - type: string - default: "linux-gfx942-8gpu-ossci-rocm" - package_index_url: - type: string - required: true - default: "https://rocm.nightlies.amd.com/v4/whl-staging" - python_version: - type: string - required: true - default: "3.12" - torch_version: - type: string - required: true - pytorch_git_ref: - type: string - default: "nightly" - pytorch_git_repo: - type: string - default: "pytorch/pytorch" - test_configs: - type: string - default: "default distributed inductor" - tests_to_include: - type: string - default: "" - repository: - description: "TheRock repository to checkout." - type: string - default: "ROCm/TheRock" - ref: - description: "Branch, tag, or SHA to checkout in TheRock." - type: string - default: "" - -permissions: - contents: read - -run-name: Test PyTorch Full (${{ inputs.amdgpu_family }}, ${{ inputs.torch_version }}, ${{ inputs.test_runs_on }}) - -jobs: - test: - uses: ROCm/TheRock/.github/workflows/test_pytorch_wheels_full.yml@main - secrets: inherit - with: - amdgpu_family: ${{ inputs.amdgpu_family }} - test_runs_on: ${{ inputs.test_runs_on }} - test_runs_on_multi_gpu: ${{ inputs.test_runs_on_multi_gpu }} - package_index_url: ${{ inputs.package_index_url }} - python_version: ${{ inputs.python_version }} - torch_version: ${{ inputs.torch_version }} - pytorch_git_ref: ${{ inputs.pytorch_git_ref }} - pytorch_git_repo: ${{ inputs.pytorch_git_repo }} - test_configs: ${{ inputs.test_configs }} - tests_to_include: ${{ inputs.tests_to_include }} - repository: ${{ inputs.repository }} - ref: ${{ inputs.ref }} +# Copyright Advanced Micro Devices, Inc. +# SPDX-License-Identifier: MIT + +# Thin wrapper that dispatches to TheRock's test_pytorch_wheels_full.yml. +# This exists so release workflows running in rockrel can dispatch the +# workflow by name in this repository, then run the reusable workflow from +# TheRock with explicit checkout plumbing. + +name: Test PyTorch Wheels (Full Suite) + +on: + workflow_dispatch: + inputs: + amdgpu_family: + type: string + required: true + default: "gfx94X-dcgpu" + test_runs_on: + type: string + required: true + default: "linux-gfx942-1gpu-ccs-csp-ossci-rocm" + test_runs_on_multi_gpu: + type: string + default: "linux-gfx942-8gpu-ossci-rocm" + package_index_url: + type: string + required: true + default: "https://rocm.nightlies.amd.com/v4/whl-staging" + python_version: + type: string + required: true + default: "3.12" + torch_version: + type: string + required: true + pytorch_git_ref: + type: string + default: "nightly" + pytorch_git_repo: + type: string + default: "pytorch/pytorch" + test_configs: + type: string + default: "default distributed inductor" + tests_to_include: + type: string + default: "" + repository: + description: "TheRock repository to checkout." + type: string + default: "ROCm/TheRock" + ref: + description: "Branch, tag, or SHA to checkout in TheRock." + type: string + default: "" + +permissions: + contents: read + +run-name: Test PyTorch Full (${{ inputs.amdgpu_family }}, ${{ inputs.torch_version }}, ${{ inputs.test_runs_on }}) + +jobs: + notify_quartz_start: + name: "Quartz - started - test PyTorch wheels (full suite)" + if: ${{ vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: started + reporting_workflow: test_pytorch_wheels_full.yml + workflow_inputs: ${{ toJSON(inputs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }} + + test: + uses: ROCm/TheRock/.github/workflows/test_pytorch_wheels_full.yml@main + secrets: inherit + with: + amdgpu_family: ${{ inputs.amdgpu_family }} + test_runs_on: ${{ inputs.test_runs_on }} + test_runs_on_multi_gpu: ${{ inputs.test_runs_on_multi_gpu }} + package_index_url: ${{ inputs.package_index_url }} + python_version: ${{ inputs.python_version }} + torch_version: ${{ inputs.torch_version }} + pytorch_git_ref: ${{ inputs.pytorch_git_ref }} + pytorch_git_repo: ${{ inputs.pytorch_git_repo }} + test_configs: ${{ inputs.test_configs }} + tests_to_include: ${{ inputs.tests_to_include }} + repository: ${{ inputs.repository }} + ref: ${{ inputs.ref }} + + notify_quartz_completed: + name: "Quartz - completed - test PyTorch wheels (full suite)" + if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }} + needs: [test] + runs-on: ubuntu-24.04 + timeout-minutes: 10 + continue-on-error: true + steps: + - uses: ROCm/Quartz/.github/actions/notify_quartz@main + with: + run_phase: completed + reporting_workflow: test_pytorch_wheels_full.yml + workflow_inputs: ${{ toJSON(inputs) }} + workflow_captured_outputs: ${{ toJSON(needs) }} + gh_app_client_id: ${{ secrets.GH_APP_HAULY_CID }} + gh_app_private_key: ${{ secrets.GH_APP_HAULY_PRIVATE_KEY }}