Files
TheRock/rocm-systems/.github/workflows/rocprofiler-compute-rhel.yml
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

130 lines
4.5 KiB
YAML

name: rocprofiler-compute RHEL
on:
push:
branches:
- develop
paths:
- '.github/workflows/rocprofiler-compute-rhel.yml'
- 'projects/rocprofiler-compute/**'
- '!**/*.md'
- '!**/*.rtf'
- '!**/*.rst'
- '!**/.markdownlint-ci2.yaml'
- '!**/.readthedocs.yaml'
- '!**/.spellcheck.local.yaml'
- '!**/.wordlist.txt'
- '!projects/rocprofiler-compute/docs/**'
- '!projects/rocprofiler-compute/docker/**'
pull_request:
paths:
- '.github/workflows/rocprofiler-compute-rhel.yml'
- 'projects/rocprofiler-compute/**'
- '!**/*.md'
- '!**/*.rtf'
- '!**/*.rst'
- '!**/.markdownlint-ci2.yaml'
- '!**/.readthedocs.yaml'
- '!**/.spellcheck.local.yaml'
- '!**/.wordlist.txt'
- '!projects/rocprofiler-compute/docs/**'
- '!projects/rocprofiler-compute/docker/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
ROCM_VERSION: "7.2.0"
CONTAINER_ROCM_VERSION: "7.2"
jobs:
build-rhel:
# The type of runner that the job will run on
# Using rocprofiler-systems images and later installing rocm, the official rocm images for al8 red hat variant are too large- this is a workaround.
runs-on: ubuntu-latest
container:
image: ghcr.io/rocm/rocprofiler-rhel:${{ matrix.os-release }}-compute-ci-base
strategy:
fail-fast: false
matrix:
os-release: [ '8.10', '9.4' ]
build-type: ['Release']
# Steps represent a sequence of tasks that will be executed as part of the job
# Note- RHEL8 references python3.9 as python39, whereas RHEL9 default version is already 3.9, so we only need to call it as python3
steps:
- name: Install baseline OS dependencies
run: |
yum clean all
yum makecache
yum -y install git
if [ ${{ matrix.os-release }} == "8.10" ]; then
yum -y install python39
yum -y install python39-devel
alternatives --set python3 /usr/bin/python3.9
else
yum -y install python3-devel
fi
yum -y install cmake3
yum -y install which
yum -y install glibc-langpack-en
yum -y install elfutils-devel pkgconf-pkg-config
- name: Install ROCm Packages
timeout-minutes: 30
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 #v4.0.0
with:
retry_wait_seconds: 30
timeout_minutes: 30
max_attempts: 3
command: |
ROCM_MAJOR=$(echo ${{ env.ROCM_VERSION }} | sed 's/\./ /g' | awk '{print $1}')
ROCM_MINOR=$(echo ${{ env.ROCM_VERSION }} | sed 's/\./ /g' | awk '{print $2}')
ROCM_VERSN=$(( (${ROCM_MAJOR}*10000)+(${ROCM_MINOR}*100) ))
if [ ${{ matrix.os-release }} == "8.10" ]; then
yum install -y https://repo.radeon.com/amdgpu-install/${ROCM_MAJOR}.${ROCM_MINOR}/rhel/8.10/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1.el8.noarch.rpm
else
yum install -y https://repo.radeon.com/amdgpu-install/${ROCM_MAJOR}.${ROCM_MINOR}/rhel/9.4/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1.el9.noarch.rpm
fi
yum install -y rocm-smi-lib roctracer-dev rocprofiler-dev rocprofiler-sdk rocm-device-libs hip-devel libpciaccess
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
projects/rocprofiler-compute
shared/ctest
set-safe-directory: true
- name: Configure git safe directory
run: git config --global --add safe.directory '*'
- name: Install Python prereqs
working-directory: projects/rocprofiler-compute
run: |
python3 -m pip install --ignore-installed -r requirements.txt
python3 -m pip install --ignore-installed -r requirements-test.txt
python3 -m pip install cmake
- name: Configure and install
working-directory: projects/rocprofiler-compute
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-compute -DPYTEST_NUMPROCS=4 ..
make install
- name: CTest- Analyze Commands
working-directory: projects/rocprofiler-compute
run: |
cd build
ctest --verbose -R test_analyze_commands
- name: CTest- Analyze Workloads
working-directory: projects/rocprofiler-compute
run: |
cd build
ctest --verbose -R test_analyze_workloads