Dateien
rocm-systems/.github/workflows/rocprofiler-compute-rhel-8.yml
T
Jason Bonnell 1255ba2bcc rocprofiler-compute Docker Images in GHCR (#1195)
* Initial cleanup of compute workflows and skeleton of ghcr workflow

* Add containers-ci.yml, update opensuse and rhel dockerfiles

* rename id in rocprofiler-compute-ghcr.yml

* Add new line to end of containers-ci.yml

* Update action versions for rocprofiler-compute-ghcr.yml

* Switch back to SHA for action versions

* Add conda set solver classic fix to compute CI dockerfiles

* Update conda install for compute Dockerfiles

* Change opensuse version to 15.6 in containers-ci.yml

* Add fix for ubuntu noble to compute Dockerfile.ubuntu.ci

* Add default distro and version to Dockerfile.ubuntu.ci

* Updated regex for tarball version

* Remove Python3.8 from compute CI Dockerfiles

* Change RHEL 9.4 to 9, add retry for compute workflow

* Revert name change for compute rhel workflow

* update path naming

* Remove binutils-gold from Dockerfile.opensuse.ci

* Remove conda python installs from Dockerfile.ci files in compute

* Change CMake version to 3.21 in compute Dockerfile.ci files

* Update checkout actions from v4 to v5
2026-01-26 17:06:20 -05:00

122 Zeilen
4.2 KiB
YAML

name: rocprofiler-compute RHEL
on:
push:
branches:
- develop
paths:
- '.github/workflows/rocprofiler-compute-rhel-8.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-8.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"
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: 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
alternatives --set python3 /usr/bin/python3.9
rm /usr/bin/python3.11
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: |
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-dev
- name: Checkout
uses: actions/checkout@v5
with:
sparse-checkout: projects/rocprofiler-compute
- name: Install Python prereqs
working-directory: projects/rocprofiler-compute
run: |
python3 -m pip install -r requirements.txt
python3 -m pip install -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