07f8f6d6c6
* Commits to enable scp report copy * Added Post report upload step * Added extra arg for fetch artifacts * Moved to a specific commit * Add write permissions to s3 * Added comment for TheRock sha commit date --------- Co-authored-by: arravikum <arravikum@amd.com>
97 lines
3.4 KiB
YAML
97 lines
3.4 KiB
YAML
name: TheRock Test Packages multi-node
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
amdgpu_families:
|
|
type: string
|
|
artifact_group:
|
|
type: string
|
|
test_runs_on:
|
|
type: string
|
|
artifact_run_id:
|
|
type: string
|
|
workflow_dispatch:
|
|
inputs:
|
|
amdgpu_families:
|
|
type: string
|
|
artifact_group:
|
|
type: string
|
|
test_runs_on:
|
|
type: string
|
|
artifact_run_id:
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
|
|
jobs:
|
|
test_rccl_multi_node:
|
|
name: 'Test multi-node'
|
|
runs-on: ${{ inputs.test_runs_on }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
env:
|
|
VENV_DIR: ${{ github.workspace }}/.venv
|
|
ARTIFACT_RUN_ID: "${{ inputs.artifact_run_id }}"
|
|
OUTPUT_ARTIFACTS_DIR: /home/arravikum/dist_new/dist/rocm
|
|
THEROCK_BIN_DIR: "./build/bin"
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
repository: "ROCm/TheRock"
|
|
ref: 6ecc2af91fc8a4271a949005d7404bd13278c005 # 2025-10-23 commit
|
|
|
|
- name: Run setup test environment workflow
|
|
uses: './.github/actions/setup_test_environment'
|
|
with:
|
|
ARTIFACT_RUN_ID: ${{ env.ARTIFACT_RUN_ID }}
|
|
AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}
|
|
ARTIFACT_GROUP: ${{ inputs.artifact_group }}
|
|
OUTPUT_ARTIFACTS_DIR: ${{ env.OUTPUT_ARTIFACTS_DIR }}
|
|
VENV_DIR: ${{ env.VENV_DIR }}
|
|
FETCH_ARTIFACT_ARGS: "--rccl --tests"
|
|
IS_PR_FROM_FORK: ${{ github.event.pull_request.head.repo.fork }}
|
|
|
|
# The following step leverages slurm to run multi node rccl tests on the slurm mi350x cluster.
|
|
# salloc will hold 4 nodes while the commands inside the block run. After the block completes, salloc automatically releases the nodes.
|
|
- name: Test gfx950
|
|
if: ${{ inputs.amdgpu_families == 'gfx950-dcgpu' }}
|
|
run: |
|
|
salloc -N 4 -p meta64 -t 04:00:00 --exclusive bash -c "
|
|
source /home/arravikum/TheRock/.venv/bin/activate &&
|
|
cd /home/arravikum/cvs &&
|
|
python input/setup.py &&
|
|
pytest -vvv -s ./tests/rccl/rccl_multinode_cvs.py \
|
|
--cluster_file ./input/cluster.json \
|
|
--config_file ./input/mi350_config.json \
|
|
--log-file=/tmp/rccl_log.log \
|
|
--html=/home/arravikum/cvs/test_reports/ci_test_report.html \
|
|
--capture=tee-sys \
|
|
--self-contained-html"
|
|
|
|
- name: Configure AWS Credentials for non-forked repos
|
|
if: ${{ always() && !github.event.pull_request.head.repo.fork }}
|
|
uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
|
|
with:
|
|
aws-region: us-east-2
|
|
role-to-assume: arn:aws:iam::692859939525:role/therock-artifacts-external
|
|
|
|
- name: Post test report upload
|
|
if: always()
|
|
working-directory: ${{ github.workspace }}
|
|
run: |
|
|
export PYTHONPATH="${PYTHONPATH}:${{ github.workspace }}/build_tools"
|
|
python3 build_tools/github_actions/upload_test_report_script.py \
|
|
--run-id "${{ github.run_id }}" \
|
|
--amdgpu-family "${{ inputs.amdgpu_families }}" \
|
|
--report-path "/home/arravikum/cvs/test_reports" \
|
|
--log-destination "/logs/gfx950-dcgpu" \
|
|
--index-file-name "index_rccl_test_report.html"
|