Files
rocm-systems/.github/workflows/rocprofiler-compute-rhel-8.yml
T
cfallows-amd 683a63d9ec Update rocprofiler-compute workflows (#1788)
* Update workflow files to use general public rocm dev build images from dockerhub.
Old method was to borrow rocprofiler-systems images but they do not contain rocm install anymore, so we cannot rely on them.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Add workflow files to paths on push and PR

* Revert change of image for red hat variant because the image offered in official rocm image release is too large for runners.
Going back to using systems team images and installing rocm on them (as they do) as a workaround until we can get a smaller package size docker image with ROCm included.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

Adjusted python3-devel install line with an if else determined by distro version.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: jbonnell-amd <jason.bonnell@amd.com>
2025-11-10 20:48:39 -05:00

103 řádky
3.7 KiB
YAML

# This is a basic workflow to help you get started with Actions
name: rocprofiler-compute RHEL 8/9
# Controls when the workflow will run
on:
push:
branches:
- develop
paths:
- '.github/workflows/rocprofiler-compute-rhel-8.yml'
- 'projects/rocprofiler-compute/**'
- '!projects/rocprofiler-compute/*.md'
- '!projects/rocprofiler-compute/.github/**/*.md'
- '!projects/rocprofiler-compute/docs/**'
- '!projects/rocprofiler-compute/docker/**'
pull_request:
paths:
- '.github/workflows/rocprofiler-compute-rhel-8.yml'
- 'projects/rocprofiler-compute/**'
- '!projects/rocprofiler-compute/*.md'
- '!projects/rocprofiler-compute/.github/**/*.md'
- '!projects/rocprofiler-compute/docs/**'
- '!projects/rocprofiler-compute/docker/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
# 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: dgaliffiamd/rocprofiler-systems:ci-base-rhel-${{ matrix.os-release }}
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
else
yum -y install python3-devel
fi
yum -y install cmake3
yum -y install which
yum -y install glibc-langpack-en
- name: Install ROCm Packages
timeout-minutes: 30
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 30
timeout_minutes: 30
max_attempts: 3
command: |
if [ ${{ matrix.os-release }} == "8.10" ]; then
yum install -y https://repo.radeon.com/amdgpu-install/latest/rhel/8.10/amdgpu-install-7.1.70100-1.el8.noarch.rpm
else
yum install -y https://repo.radeon.com/amdgpu-install/latest/rhel/9.4/amdgpu-install-7.1.70100-1.el9.noarch.rpm
fi
yum install -y rocm-dev
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: projects/rocprofiler-compute
- name: Install Python prereqs
working-directory: projects/rocprofiler-compute
run: |
python3.9 -m pip install -r requirements.txt
python3.9 -m pip install -r requirements-test.txt
- 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