1255ba2bcc
* 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
122 Zeilen
4.2 KiB
YAML
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
|