[TheRock CI] Adding TheRock RCCL tests (#1873)
* First commit for rccl multi node test workflow
* Adding workflow dispatch
* Added branch based pull trigger
* Changed typo in branch name
* Add input variables to push
* Removed input variables to push
* Added self hosted runner for Vultr cloud
* Skipping build and only running test
* Changed test runner label name
* Made changes to executable paths in test script
* Made changes to run
* Made changes to cd into cvs dir
* This is a dummy commit
* Added cmake options
* Modified build options
* Commiting build changes
* Adding rccl and rccl-tests
* Re-ordering rccl and rccl-tests
* adding --global command
* modified cmake command
* modified script paths
* Testing OIDC for rccl repo
* Testing OIDC for rccl repo
* Testing build and upload workflow
* use default env variable for AMDGPU families on push workflow trigger
* Adding cleanup and correct role
* Adding additional yml files
* Fixing typo';
* Adding new sha
* Adding correct gpu target
* Adding back venv bin activate
* Adding workflow dispatch for tests
* Testing
* Adding cat
* Adding cat
* Adding rocm dir change
* Adding checkout
* cat with sudo
* rccl checkout
* correcting branch
* removing sudo
* trying to adjust correct path'
* Adding output dir path
* Use docker container with pre-installed MPI
* Adding back build steps
* Fixing SHA
* Adding exclusion logic:
* Adding test
* Adding CI check
* Removing testing
* Limit to build only rccl, rccl-tests and required dependencies
* Adding test
* Removing test
* Removing quote
* Reverting test
* PR comments
---------
Co-authored-by: arravikum <arravikum@amd.com>
Co-authored-by: Marius Brehler <marius.brehler@amd.com>
[ROCm/rccl commit: f9a957bbab]
Dieser Commit ist enthalten in:
@@ -0,0 +1,135 @@
|
||||
name: TheRock CI Linux
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
amdgpu_families:
|
||||
type: string
|
||||
extra_cmake_options:
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
therock-build-linux:
|
||||
name: Build Linux Packages
|
||||
runs-on: azure-linux-scale-rocm
|
||||
permissions:
|
||||
id-token: write
|
||||
container:
|
||||
image: ghcr.io/rocm/therock_build_manylinux_x86_64@sha256:283673fe3e1bf498d079e3f386b794af1b4f71845a9a0107c6cf7aa304dce050
|
||||
options: -v /runner/config:/home/awsconfig/
|
||||
env:
|
||||
AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}
|
||||
TEATIME_FORCE_INTERACTIVE: 0
|
||||
AWS_SHARED_CREDENTIALS_FILE: /home/awsconfig/credentials.ini
|
||||
steps:
|
||||
- name: Checkout TheRock repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
repository: "ROCm/TheRock"
|
||||
ref: 5f35280878ca80755c5456dfdb527c29d3f5058c
|
||||
|
||||
- name: Checkout rccl repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
repository: "ROCm/rccl"
|
||||
path: rccl
|
||||
|
||||
- name: Checkout rccl-tests repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
repository: "ROCm/rccl-tests"
|
||||
path: rccl-tests
|
||||
|
||||
- name: Runner Health Settings
|
||||
run: |
|
||||
df -h
|
||||
echo cmake --version
|
||||
echo "Installed Python versions:"
|
||||
ls -d /opt/python
|
||||
echo "python: $(which python), python3: $(which python3)"
|
||||
echo "Git version: $(git --version)"
|
||||
git config --global --add safe.directory $PWD
|
||||
git config fetch.parallel 10
|
||||
|
||||
- name: Fetch sources
|
||||
run: |
|
||||
./build_tools/fetch_sources.py --jobs 12
|
||||
|
||||
- name: Install python deps
|
||||
run: |
|
||||
pip install -r requirements.txt
|
||||
pip freeze
|
||||
|
||||
- name: Configure Projects
|
||||
env:
|
||||
amdgpu_families: ${{ env.AMDGPU_FAMILIES }}
|
||||
package_version: ADHOCBUILD
|
||||
extra_cmake_options: ${{ inputs.extra_cmake_options }}
|
||||
BUILD_DIR: build
|
||||
run: |
|
||||
python3 build_tools/github_actions/build_configure.py
|
||||
|
||||
- name: Build therock-dist
|
||||
run: cmake --build build
|
||||
|
||||
- name: Build therock-archives
|
||||
run: cmake --build build --target therock-archives
|
||||
|
||||
- name: Report
|
||||
#if: ${{ !cancelled() }}
|
||||
run: |
|
||||
echo "Full SDK du:"
|
||||
echo "------------"
|
||||
du -h -d 1 build/dist/rocm
|
||||
echo "Artifact Archives:"
|
||||
echo "------------------"
|
||||
ls -lh build/artifacts/*.tar.xz
|
||||
echo "Artifacts:"
|
||||
echo "----------"
|
||||
du -h -d 1 build/artifacts
|
||||
|
||||
- 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: Create Logs index Files and upload logs
|
||||
if: always()
|
||||
run: |
|
||||
python3 build_tools/github_actions/create_log_index.py \
|
||||
--build-dir=build \
|
||||
--amdgpu-family=${{ env.AMDGPU_FAMILIES }}
|
||||
|
||||
python3 build_tools/github_actions/upload_build_logs_to_s3.py \
|
||||
--build-dir=build \
|
||||
--run-id ${{ github.run_id }} \
|
||||
--amdgpu-family ${{ env.AMDGPU_FAMILIES }}
|
||||
|
||||
- name: Upload artifacts
|
||||
run: |
|
||||
python build_tools/github_actions/upload_build_artifacts.py \
|
||||
--run-id ${{ github.run_id }} \
|
||||
--amdgpu-family ${{ env.AMDGPU_FAMILIES }} \
|
||||
--build-dir build
|
||||
|
||||
- name: Add Links to Job Summary
|
||||
if: always()
|
||||
run: |
|
||||
python build_tools/github_actions/upload_build_summary.py \
|
||||
--run-id ${{ github.run_id }} \
|
||||
--amdgpu-family ${{ env.AMDGPU_FAMILIES }} \
|
||||
--build-dir build
|
||||
|
||||
therock-test-linux:
|
||||
name: "Test"
|
||||
needs: [therock-build-linux]
|
||||
uses: ./.github/workflows/therock-test-packages.yml
|
||||
with:
|
||||
amdgpu_families: ${{ inputs.amdgpu_families }}
|
||||
test_runs_on: vultr-linux-rocm
|
||||
artifact_run_id: ${{ github.run_id }}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren