From 683a63d9ecf9ce10272aa209d8efd74a4b5f74cf Mon Sep 17 00:00:00 2001 From: cfallows-amd Date: Mon, 10 Nov 2025 20:48:39 -0500 Subject: [PATCH] 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 * 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 Adjusted python3-devel install line with an if else determined by distro version. Signed-off-by: Carrie Fallows --------- Signed-off-by: Carrie Fallows Co-authored-by: jbonnell-amd --- .../workflows/rocprofiler-compute-rhel-8.yml | 28 +++++++++++++++++-- .../rocprofiler-compute-ubuntu-jammy.yml | 5 +++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rocprofiler-compute-rhel-8.yml b/.github/workflows/rocprofiler-compute-rhel-8.yml index 26e9b20923..1824fd7472 100644 --- a/.github/workflows/rocprofiler-compute-rhel-8.yml +++ b/.github/workflows/rocprofiler-compute-rhel-8.yml @@ -8,6 +8,7 @@ on: branches: - develop paths: + - '.github/workflows/rocprofiler-compute-rhel-8.yml' - 'projects/rocprofiler-compute/**' - '!projects/rocprofiler-compute/*.md' - '!projects/rocprofiler-compute/.github/**/*.md' @@ -15,6 +16,7 @@ on: - '!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' @@ -32,26 +34,46 @@ concurrency: 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.3'] + 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 - yum -y install python39 - yum -y install python39-devel + 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: diff --git a/.github/workflows/rocprofiler-compute-ubuntu-jammy.yml b/.github/workflows/rocprofiler-compute-ubuntu-jammy.yml index fd7e31da81..bcfb837be0 100644 --- a/.github/workflows/rocprofiler-compute-ubuntu-jammy.yml +++ b/.github/workflows/rocprofiler-compute-ubuntu-jammy.yml @@ -7,6 +7,7 @@ on: branches: - develop paths: + - '.github/workflows/rocprofiler-compute-ubuntu-jammy.yml' - 'projects/rocprofiler-compute/**' - '!projects/rocprofiler-compute/*.md' - '!projects/rocprofiler-compute/.github/**/*.md' @@ -14,6 +15,7 @@ on: - '!projects/rocprofiler-compute/docker/**' pull_request: paths: + - '.github/workflows/rocprofiler-compute-ubuntu-jammy.yml' - 'projects/rocprofiler-compute/**' - '!projects/rocprofiler-compute/*.md' - '!projects/rocprofiler-compute/.github/**/*.md' @@ -30,9 +32,10 @@ concurrency: jobs: build: # The type of runner that the job will run on + # https://hub.docker.com/r/rocm/dev-ubuntu-22.04/tags runs-on: ubuntu-latest container: - image: dgaliffiamd/rocprofiler-systems:ci-base-ubuntu-22.04 + image: rocm/dev-ubuntu-22.04:7.1 # Steps represent a sequence of tasks that will be executed as part of the job steps: - name: Install baseline OS dependencies