Fixing ROCProfiler Register CI & ROCProfiler-SDK Docs CI (#1570)
--------- Co-authored-by: bgopesh <gopesh.bhardwaj@amd.com>
This commit is contained in:
committed by
GitHub
orang tua
740b27528f
melakukan
fee5bd9a4e
@@ -7,10 +7,12 @@ on:
|
||||
paths:
|
||||
- 'projects/rocprofiler-register/**'
|
||||
- '!projects/rocprofiler-register/*.md'
|
||||
- '.github/workflows/rocprofiler-register-continuous-integration.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'projects/rocprofiler-register/**'
|
||||
- '!projects/rocprofiler-register/*.md'
|
||||
- '.github/workflows/rocprofiler-register-continuous-integration.yml'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -47,15 +49,39 @@ jobs:
|
||||
# ci-args: '--memcheck UndefinedBehaviorSanitizer'
|
||||
# ci-tag: '-undefined-behavior-sanitizer'
|
||||
|
||||
runs-on: rocprofiler-mi3xx
|
||||
runs-on: linux-mi325-1gpu-ossci-rocm
|
||||
container:
|
||||
image: docker.io/rocm/rocprofiler-private:ubuntu-22.04-gfx94X-latest
|
||||
credentials:
|
||||
username: ${{ secrets.ROCPROFILER_AZURE_CI_USER }}
|
||||
password: ${{ secrets.ROCPROFILER_AZURE_CI_PASS }}
|
||||
options: --privileged --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
|
||||
|
||||
env:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
INSTALL_PREFIX: /opt/rocprofiler-register
|
||||
PACKAGING_INSTALL_PREFIX: /opt/rocm
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
INSTALL_PREFIX: /opt/rocprofiler-register
|
||||
PACKAGING_INSTALL_PREFIX: /opt/rocm
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
PATH: /usr/bin:$PATH
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Latest Nightly ROCm
|
||||
shell: bash
|
||||
working-directory: /tmp
|
||||
run: |
|
||||
tar -xf ${{ env.PACKAGING_INSTALL_PREFIX }}-gfx94X.tar.gz -C ${{ env.PACKAGING_INSTALL_PREFIX }}
|
||||
echo "ROCm installed to: ${{ env.PACKAGING_INSTALL_PREFIX }}"
|
||||
|
||||
- name: Setup Git
|
||||
shell: bash
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository ppa:git-core/ppa
|
||||
apt update
|
||||
apt install -y git
|
||||
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
sparse-checkout: projects/rocprofiler-register
|
||||
submodules: true
|
||||
@@ -95,7 +121,6 @@ jobs:
|
||||
shell: bash
|
||||
working-directory: projects/rocprofiler-register
|
||||
run:
|
||||
cmake --version &&
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-azure-mi300x-${{ matrix.compiler }}${{ matrix.ci-tag }}
|
||||
--build-jobs 2
|
||||
@@ -123,8 +148,14 @@ jobs:
|
||||
run: |
|
||||
cd build
|
||||
cpack -G STGZ
|
||||
rm -rf ${{ env.PACKAGING_INSTALL_PREFIX }}/lib/*rocprofiler-register* \
|
||||
${{ env.PACKAGING_INSTALL_PREFIX }}/lib/cmake/*rocprofiler-register* \
|
||||
${{ env.PACKAGING_INSTALL_PREFIX }}/share/*rocprofiler-register* \
|
||||
${{ env.PACKAGING_INSTALL_PREFIX }}/libexec/*rocprofiler-register* \
|
||||
${{ env.PACKAGING_INSTALL_PREFIX }}/include/rocprofiler-register
|
||||
mkdir -p ${{ env.PACKAGING_INSTALL_PREFIX }}
|
||||
./rocprofiler-register-*-Linux.sh --prefix=${{ env.PACKAGING_INSTALL_PREFIX }} --exclude-subdir --skip-license
|
||||
ls -lah ${{ env.PACKAGING_INSTALL_PREFIX }}/lib
|
||||
|
||||
- name: Test Installed Packages
|
||||
if: ${{ contains(matrix.compiler, 'clang-15') }}
|
||||
@@ -132,8 +163,10 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
cd projects/rocprofiler-register
|
||||
CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-tests-deb /opt/rocm/share/rocprofiler-register/tests
|
||||
CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-tests-deb
|
||||
cmake --build build-tests-deb --target all --parallel 16
|
||||
export PATH=${{ env.PACKAGING_INSTALL_PREFIX }}/bin:$PATH
|
||||
export LD_LIBRARY_PATH=${{ env.PACKAGING_INSTALL_PREFIX }}/lib:$LD_LIBRARY_PATH
|
||||
ctest --test-dir build-tests-deb --output-on-failure
|
||||
|
||||
- name: Test Install Modulefile
|
||||
|
||||
@@ -3,7 +3,7 @@ name: rocprofiler-sdk Build CI Docker Images
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 6 * * *'
|
||||
- cron: '0 7 * * *'
|
||||
push:
|
||||
branches: [ develop ]
|
||||
paths:
|
||||
|
||||
@@ -94,6 +94,7 @@ jobs:
|
||||
tar -xf ${{ env.ROCM_PATH }}-gfx94X.tar.gz -C ${{ env.ROCM_PATH }}-${{ env.ROCM_VERSION }}
|
||||
ln -s ${{ env.ROCM_PATH }}-${{ env.ROCM_VERSION }} ${{ env.ROCM_PATH }}
|
||||
echo "ROCm installed to: ${{ env.ROCM_PATH }}"
|
||||
|
||||
- name: Install os essentials
|
||||
timeout-minutes: 10
|
||||
shell: bash
|
||||
@@ -104,12 +105,18 @@ jobs:
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
echo "PATH=/usr/bin:$PATH" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: projects/rocprofiler-sdk
|
||||
submodules: true
|
||||
set-safe-directory: true
|
||||
|
||||
- name: Setup
|
||||
shell: bash
|
||||
run: git config --global --add safe.directory '*'
|
||||
|
||||
- name: Create Docs Directory
|
||||
shell: bash
|
||||
working-directory: projects/rocprofiler-sdk/
|
||||
@@ -118,6 +125,7 @@ jobs:
|
||||
git config --global --add safe.directory ${GITHUB_WORKSPACE}
|
||||
mkdir -p source/docs/_doxygen/rocprofiler-sdk
|
||||
mkdir -p source/docs/_doxygen/roctx
|
||||
|
||||
- name: Install requirements
|
||||
timeout-minutes: 10
|
||||
shell: bash
|
||||
|
||||
@@ -164,38 +164,51 @@ function(rocp_register_test_executable _NAME)
|
||||
${ARGN})
|
||||
endfunction()
|
||||
|
||||
# Build LD_PRELOAD for base test
|
||||
set(_BASE_PRELOAD "LD_PRELOAD=librocprofiler-register.so")
|
||||
if(ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV)
|
||||
set(_BASE_PRELOAD "${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}")
|
||||
endif()
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME} ${_NAME} "${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
${_NAME} ${_NAME} "${_BASE_PRELOAD}"
|
||||
"${RRTE_CORE_PASS_REGEX}" "${RRTE_CORE_FAIL_REGEX}")
|
||||
|
||||
# Build LD_PRELOAD list for -preload tests
|
||||
set(_PRELOAD_LIBS "librocprofiler-register.so" "libgeneric-tool.so")
|
||||
if(ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_LIBRARY)
|
||||
list(PREPEND _PRELOAD_LIBS "${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_LIBRARY}")
|
||||
endif()
|
||||
list(JOIN _PRELOAD_LIBS ":" _PRELOAD_STRING)
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME}-preload ${_NAME}
|
||||
"LD_PRELOAD=${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_LIBRARY}:libgeneric-tool.so"
|
||||
"LD_PRELOAD=${_PRELOAD_STRING}"
|
||||
"${RRTE_PRELOAD_PASS_REGEX}" "${RRTE_PRELOAD_FAIL_REGEX}")
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME}-env
|
||||
${_NAME}
|
||||
"ROCP_TOOL_LIBRARIES=libgeneric-tool.so;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_PRELOAD=librocprofiler-register.so;ROCP_TOOL_LIBRARIES=libgeneric-tool.so;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"${RRTE_PRELOAD_PASS_REGEX}"
|
||||
"${RRTE_PRELOAD_FAIL_REGEX}")
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME}-wrap ${_NAME}
|
||||
"ROCP_REG_TEST_WRAP=1;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_PRELOAD=librocprofiler-register.so;ROCP_REG_TEST_WRAP=1;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"${RRTE_WRAP_PASS_REGEX}" "${RRTE_WRAP_FAIL_REGEX}")
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME}-preload-wrap
|
||||
${_NAME}
|
||||
"LD_PRELOAD=${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_LIBRARY}:libgeneric-tool.so;ROCP_REG_TEST_WRAP=1"
|
||||
"LD_PRELOAD=${_PRELOAD_STRING};ROCP_REG_TEST_WRAP=1"
|
||||
"${RRTE_PRELOAD_WRAP_PASS_REGEX}"
|
||||
"${RRTE_PRELOAD_WRAP_FAIL_REGEX}")
|
||||
|
||||
rocp_register_add_test(
|
||||
${_NAME}-env-wrap
|
||||
${_NAME}
|
||||
"ROCP_TOOL_LIBRARIES=libgeneric-tool.so;ROCP_REG_TEST_WRAP=1;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_PRELOAD=librocprofiler-register.so;ROCP_TOOL_LIBRARIES=libgeneric-tool.so;ROCP_REG_TEST_WRAP=1;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"${RRTE_PRELOAD_WRAP_PASS_REGEX}"
|
||||
"${RRTE_PRELOAD_WRAP_FAIL_REGEX}")
|
||||
|
||||
@@ -514,7 +527,7 @@ set_tests_properties(
|
||||
test-force-rocprofiler-dlopen
|
||||
PROPERTIES
|
||||
ENVIRONMENT
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};ROCPROFILER_REGISTER_FORCE_LOAD=1;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};LD_PRELOAD=librocprofiler-register.so;ROCPROFILER_REGISTER_FORCE_LOAD=1;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
LABELS
|
||||
"dlopen;secure")
|
||||
|
||||
@@ -527,7 +540,7 @@ set_tests_properties(
|
||||
test-rocprofiler-register-library-base-path
|
||||
PROPERTIES
|
||||
ENVIRONMENT
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};ROCPROFILER_REGISTER_LIBRARY=librocprofiler-sdk.so.0;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;ROCPROFILER_REGISTER_MONOCHROME=true;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};LD_PRELOAD=librocprofiler-register.so;ROCPROFILER_REGISTER_LIBRARY=librocprofiler-sdk.so.0;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;ROCPROFILER_REGISTER_MONOCHROME=true;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
LABELS
|
||||
"dlopen;secure")
|
||||
|
||||
@@ -540,6 +553,6 @@ set_tests_properties(
|
||||
test-rocprofiler-register-library-absolute-path
|
||||
PROPERTIES
|
||||
ENVIRONMENT
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};ROCPROFILER_REGISTER_LIBRARY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/librocprofiler-sdk.so.0;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;ROCPROFILER_REGISTER_MONOCHROME=true;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
"LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY};LD_PRELOAD=librocprofiler-register.so;ROCPROFILER_REGISTER_LIBRARY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/librocprofiler-sdk.so.0;ROCPROFILER_REGISTER_SECURE=yes;ROCPROFILER_REGISTER_VERBOSE=3;ROCPROFILER_REGISTER_MONOCHROME=true;${ROCPROFILER_REGISTER_MEMCHECK_PRELOAD_ENV}"
|
||||
LABELS
|
||||
"dlopen;secure")
|
||||
|
||||
Reference in New Issue
Block a user