Update CI to test multiple python versions (#45)

* Update CI to test multiple python versions

* Ensure numpy is installed

* Handle lulesh with cmake < 3.16

* Fix typo

* Bump minimum CMake version to 3.16

- CMake 3.15 has issue with PTL object library

* Tweak CI test output

[ROCm/rocprofiler-systems commit: 22eaa780ec]
Этот коммит содержится в:
Jonathan R. Madsen
2022-04-22 03:05:07 -05:00
коммит произвёл GitHub
родитель 55fb69a57c
Коммит 28ade7fbb9
12 изменённых файлов: 71 добавлений и 20 удалений
+18 -2
Просмотреть файл
@@ -47,7 +47,17 @@ jobs:
apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} ${{ matrix.mpi }} &&
python3 -m pip install --upgrade pip &&
python3 -m pip install numpy &&
python3 -m pip install 'cmake==3.16.3'
python3 -m pip install 'cmake==3.16.3' &&
for i in 6 7 8 9; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy; done
- name: Install Kokkos
timeout-minutes: 5
run:
cd examples/lulesh/external/kokkos &&
cmake -B build -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_SERIAL=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_STANDARD=17 . &&
cmake --build build --target all --parallel 2 &&
cmake --build build --target install &&
rm -rf build
- name: Configure Env
run:
@@ -71,6 +81,9 @@ jobs:
-DOMNITRACE_USE_MPI=${USE_MPI}
-DOMNITRACE_USE_HIP=OFF
-DOMNITRACE_USE_PYTHON=ON
-DOMNITRACE_PYTHON_VERSIONS="3.6;3.7;3.8;3.9"
-DOMNITRACE_PYTHON_ROOT_DIRS="/opt/conda/envs/py3.6;/opt/conda/envs/py3.7;/opt/conda/envs/py3.8;/opt/conda/envs/py3.9"
-DLULESH_BUILD_KOKKOS=OFF
- name: Build
timeout-minutes: 45
@@ -85,7 +98,10 @@ jobs:
timeout-minutes: 45
run:
cd build &&
ctest -V --output-log build/omnitrace-ctest-ubuntu-bionic.log --stop-on-failure
ldd ./omnitrace &&
./omnitrace --help &&
ctest -V -N -O omnitrace-ctest-${{ env.GITHUB_JOB }}-commands.log &&
ctest --output-on-failure --output-log omnitrace-ctest-${{ env.GITHUB_JOB }}.log --stop-on-failure
- name: Test Install
timeout-minutes: 10
+4 -2
Просмотреть файл
@@ -37,7 +37,8 @@ jobs:
apt-get update &&
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev ${{ matrix.compiler }} libudev-dev libnuma-dev rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev libpapi-dev libopenmpi-dev &&
python3 -m pip install --upgrade pip &&
python3 -m pip install 'cmake==3.16.3'
python3 -m pip install 'cmake==3.16.3' &&
for i in 6 7 8 9; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy; done
- name: Configure Env
run:
@@ -83,7 +84,8 @@ jobs:
cd build &&
ldd ./omnitrace &&
./omnitrace --help &&
ctest -V --output-log omnitrace-ctest-ubuntu-focal-external-rocm.log --stop-on-failure
ctest -V -N -O omnitrace-ctest-${{ env.GITHUB_JOB }}-commands.log &&
ctest --output-on-failure --output-log omnitrace-ctest-${{ env.GITHUB_JOB }}.log --stop-on-failure
- name: Test Install
timeout-minutes: 10
+6 -2
Просмотреть файл
@@ -32,7 +32,8 @@ jobs:
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev ${{ matrix.compiler }} &&
python3 -m pip install --upgrade pip &&
python3 -m pip install numpy &&
python3 -m pip install 'cmake==3.16.3'
python3 -m pip install 'cmake==3.16.3' &&
for i in 6 7 8 9; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy; done
- name: Configure Env
run:
@@ -56,6 +57,8 @@ jobs:
-DOMNITRACE_USE_HIP=OFF
-DOMNITRACE_USE_OMPT=OFF
-DOMNITRACE_USE_PYTHON=ON
-DOMNITRACE_PYTHON_VERSIONS="3.6;3.7;3.8;3.9"
-DOMNITRACE_PYTHON_ROOT_DIRS="/opt/conda/envs/py3.6;/opt/conda/envs/py3.7;/opt/conda/envs/py3.8;/opt/conda/envs/py3.9"
- name: Build
timeout-minutes: 45
@@ -73,7 +76,8 @@ jobs:
cd build &&
ldd ./omnitrace &&
./omnitrace --help &&
ctest -V --output-log build/omnitrace-ctest-ubuntu-focal-external.log --stop-on-failure
ctest -V -N -O omnitrace-ctest-${{ env.GITHUB_JOB }}-commands.log &&
ctest --output-on-failure --output-log omnitrace-ctest-${{ env.GITHUB_JOB }}.log --stop-on-failure
- name: Test Install
timeout-minutes: 10
+2 -1
Просмотреть файл
@@ -74,7 +74,8 @@ jobs:
timeout-minutes: 45
working-directory: ${{ github.workspace }}/build
run:
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal.log --stop-on-failure
ctest -V -N -O ${{ github.workspace }}/build/omnitrace-ctest-${{ env.GITHUB_JOB }}-commands.log &&
ctest --output-on-failure --output-log ${{ github.workspace }}/build/omnitrace-ctest-${{ env.GITHUB_JOB }}.log --stop-on-failure
- name: Test Install
timeout-minutes: 10
+2 -2
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND CMAKE_CURRENT_SOURCE_DIR STREQUAL
CMAKE_SOURCE_DIR)
@@ -45,7 +45,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE
RelWithDebInfo
Release
CACHE STRING "Build type" FORCE)
else()
set(VALID_BUILD_TYPES "Release" "RelWithDebInfo" "Debug" "MinSizeRel")
+11 -2
Просмотреть файл
@@ -13,8 +13,9 @@ WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]
ARG EXTRA_PACKAGES=""
ARG ELFUTILS_DOWNLOAD_VERSION="0.183"
ARG ELFUTILS_DOWNLOAD_VERSION="0.186"
ARG NJOBS="12"
ARG PYTHON_VERSIONS="6 7 8 9"
ENV PATH ${HOME}/.local/bin:${PATH}
ENV LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LIBRARY_PATH}
@@ -30,13 +31,21 @@ RUN apt-get update && \
apt-get autoclean && \
locale -a && \
cd /tmp/dyninst && \
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_BOOST=ON -DBUILD_TBB=ON -DBUILD_ELFUTILS=ON -DBUILD_LIBIBERTY=ON && \
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_BOOST=ON -DBUILD_TBB=ON -DBUILD_ELFUTILS=ON -DBUILD_LIBIBERTY=ON -DELFUTILS_DOWNLOAD_VERSION=${ELFUTILS_DOWNLOAD_VERSION} && \
cmake --build build --target all --parallel ${NJOBS} && \
cmake --build build --target install --parallel ${NJOBS} && \
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults python=3.${i} pip numpy; done && \
conda clean -a -y && \
cd /tmp && \
shopt -s dotglob extglob && \
rm -rf *
ENV LC_ALL C.UTF-8
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
+12 -1
Просмотреть файл
@@ -5,7 +5,8 @@ set -e
: ${DISTRO:=ubuntu}
: ${VERSIONS:=20.04 18.04}
: ${NJOBS=$(nproc)}
: ${ELFUTILS_VERSION:=0.183}
: ${ELFUTILS_VERSION:=0.186}
: ${PUSH:=0}
send-error()
{
@@ -39,6 +40,9 @@ do
shift
ELFUTILS_VERSION=${1}
;;
"--push")
PUSH=1
;;
*)
send-error "Unsupported argument at position $((${n} + 1)) :: ${1}"
;;
@@ -77,4 +81,11 @@ do
--build-arg ELFUTILS_DOWNLOAD_VERSION=${ELFUTILS_VERSION}
done
if [ "${PUSH}" -gt 0 ]; then
for VERSION in ${VERSIONS}
do
verbose-run docker push jrmadsen/omnitrace-ci:${DISTRO}-${VERSION}
done
fi
verbose-run rm -rf ./dyninst-source
+11 -3
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(omnitrace-dyninst-examples LANGUAGES CXX)
@@ -10,6 +10,14 @@ add_subdirectory(parallel-overhead)
add_subdirectory(user-api)
add_subdirectory(openmp)
option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
if(CMAKE_VERSION VERSION_LESS 3.16 AND (NOT DEFINED LULESH_BUILD_KOKKOS
OR LULESH_BUILD_KOKKOS))
message(
AUTHOR_WARNING
"lulesh example cannot build Kokkos (requires CMake 3.16+, current version is ${CMAKE_VERSION})"
)
else()
option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
add_subdirectory(lulesh)
add_subdirectory(lulesh)
endif()
+2 -2
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(lulesh LANGUAGES C CXX)
@@ -19,7 +19,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE
"RelWithDebInfo"
"Release"
CACHE STRING "CMake build type" FORCE)
endif()
+1 -1
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(omnitrace-parallel-overhead LANGUAGES CXX)
+1 -1
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(omnitrace-transpose LANGUAGES CXX)
+1 -1
Просмотреть файл
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(omnitrace-user-api LANGUAGES CXX)