mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-01 20:21:23 +00:00
73 lines
2.5 KiB
YAML
73 lines
2.5 KiB
YAML
name: Test component
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
artifact_run_id:
|
|
type: string
|
|
default: ""
|
|
amdgpu_families:
|
|
type: string
|
|
test_runs_on:
|
|
type: string
|
|
platform:
|
|
type: string
|
|
component:
|
|
type: string
|
|
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test_component:
|
|
name: 'Test ${{ fromJSON(inputs.component).job_name }} (shard ${{ matrix.shard }} of ${{ fromJSON(inputs.component).total_shards }})'
|
|
runs-on: ${{ inputs.test_runs_on }}
|
|
container:
|
|
image: ${{ inputs.platform == 'linux' && 'ghcr.io/rocm/no_rocm_image_ubuntu24_04@sha256:4150afe4759d14822f0e3f8930e1124f26e11f68b5c7b91ec9a02b20b1ebbb98' || null }}
|
|
options: --ipc host
|
|
--group-add video
|
|
--device /dev/kfd
|
|
--device /dev/dri
|
|
--group-add 110
|
|
--env-file /etc/podinfo/gha-gpu-isolation-settings
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# The shard array is based on "total_shards" from "fetch_test_configurations.py"
|
|
# The test executable will shard based on the array. (ex: [1, 2, 3, 4] = four test shards)
|
|
shard: ${{ fromJSON(inputs.component).shard_arr }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
env:
|
|
VENV_DIR: ${{ github.workspace }}/.venv
|
|
ARTIFACT_RUN_ID: "${{ inputs.artifact_run_id != '' && inputs.artifact_run_id || github.run_id }}"
|
|
OUTPUT_ARTIFACTS_DIR: "./build"
|
|
THEROCK_BIN_DIR: "./build/bin"
|
|
AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
repository: "ROCm/TheRock"
|
|
ref: e4d4316c3c20819045722f60fc63928944ebc397 # 2026-01-01 commit
|
|
|
|
- name: Run setup test environment workflow
|
|
uses: './.github/actions/setup_test_environment'
|
|
with:
|
|
ARTIFACT_RUN_ID: ${{ env.ARTIFACT_RUN_ID }}
|
|
ARTIFACT_GROUP: ${{ inputs.amdgpu_families }}
|
|
OUTPUT_ARTIFACTS_DIR: ${{ env.OUTPUT_ARTIFACTS_DIR }}
|
|
VENV_DIR: ${{ env.VENV_DIR }}
|
|
FETCH_ARTIFACT_ARGS: ${{ fromJSON(inputs.component).fetch_artifact_args }}
|
|
IS_PR_FROM_FORK: ${{ github.event.pull_request.head.repo.fork }}
|
|
|
|
- name: Test
|
|
timeout-minutes: ${{ fromJSON(inputs.component).timeout_minutes }}
|
|
env:
|
|
SHARD_INDEX: ${{ matrix.shard }}
|
|
TOTAL_SHARDS: ${{ fromJSON(inputs.component).total_shards }}
|
|
run: |
|
|
${{ fromJSON(inputs.component).test_script }}
|