GitHub CI (#11)

* Continuous integration

* linux-ci on

* fix for parallel-overhead

* Updated CMAKE_INSTALL_PREFIX

* Updated installed boost libraries

* Dyninst updates fixing TBB install

* timemory + dyninst submodule updates

- fixes some timemory package option handling
- fixes dyninst libiberty handling

* Update dyninst submodule with libiberty fix

* dyninst submodule update with TBB internal build fixes

* Updated linux-ci + tests + timemeory + dyninst

- updated timemory submodule
- update dyninst submodule
- delay OnLoad implementation
- DYNINST_RT_API handling improvement
- CI for ubuntu-bionic in addition to focal
- CTest in CI

* Update TBB handling in CI

* Update dyninst with symLite fix

* Update dyninst submodule with ElfUtils-External fix

* Dyninst::ElfUtils fix

* Modified dyninst submodule TPL install

* Update dyninst submodule with improved interface libraries

* Fix to Dyninst::ElfUtils in dyninst submodule

* Updated CI build matrix + test install

* Updated CI

* CI stage updates

* Tweak

* Dyninst updates + RPATH for hosttrace exe

- hosttrace will rpath to dyninst
- Dyninst will statically link to boost by default
- Fixes to double init w/ MPI + runtime instrumentation
- minor cleanup to hosttrace
- hosttrace help exits with zero
- CI updates

* Dyninst + CI updates

* Removed ELFUTILS_BUILD_STATIC option in Dyninst

* Dyninst + visibility + roctracer + tests

- Dyninst submodule updates with dynamic pcontrol lib
- hosttrace visibility is hidden
- improved handling of DYNINST_API_RT in hosttrace
- roctracer::tear_down in finalize fixes issues with timemory
- throw error if cannot create perfetto output file
- roctracer_default_pool() safety guards
- resume calling roctracer_close_pool()
- fixed working dir of tests
- fixed env of tests (cmake and CI)
- simplified CI

* Removed stray CI if condition

* Disable hidden visibility for now

* ifdef for roctracer::tear_down + reenable hidden

* Better CI environment handling + dyninst packaging

* Fix for dyninst-package CI

* Fixes for cmake 3.15 issues with aliasing imported lib

* Fix to ubuntu-focal-dyninst-package

* Dyninst updates for packaging

- fixes issues with hard-coded paths to libraries after relocation via package installer

* Restrict CI to main and develop branches
This commit is contained in:
Jonathan R. Madsen authored and GitHub committed 2021-09-15 16:45:49 -05:00
1 parent ea60acc4b6
commit 35ab6b0110
14 files changed
+838 -275

No files matched your search

+56 -10
View File
@@ -1,21 +1,33 @@
if(NOT DYNINST_API_RT_DIR AND DYNINST_API_RT)
get_filename_component(DYNINST_API_RT_DIR "${DYNINST_API_RT}" DIRECTORY)
endif()
if(HOSTTRACE_BUILD_DYNINST)
set(DYNINST_API_RT_DIR "${PROJECT_BINARY_DIR}/external/dyninst/dyninstAPI_RT:${PROJECT_BINARY_DIR}/external/dyninst/dyninstAPI")
endif()
set(_test_environment
"HOSTTRACE_USE_PERFETTO=ON"
"LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}:${DYNINST_API_RT_DIR}:$ENV{LD_LIBRARY_PATH}")
if(TARGET transpose)
add_test(
NAME transpose-binary-rewrite
COMMAND $<TARGET_FILE:hosttrace-exe> -o transpose.inst -- ${CMAKE_BINARY_DIR}/transpose/transpose
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
COMMAND $<TARGET_FILE:hosttrace-exe> -o $<TARGET_FILE_DIR:transpose>/transpose.inst -v 2 -- $<TARGET_FILE:transpose>
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_test(
NAME transpose-binary-rewrite-run
COMMAND ./transpose.inst
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
COMMAND $<TARGET_FILE_DIR:transpose>/transpose.inst
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_test(
NAME transpose-runtime-instrumentation
COMMAND $<TARGET_FILE:hosttrace-exe> -- ${CMAKE_BINARY_DIR}/transpose/transpose
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
NAME transpose-runtime-instrument
COMMAND $<TARGET_FILE:hosttrace-exe> -v 2 -- $<TARGET_FILE:transpose>
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
set_tests_properties(
@@ -24,13 +36,47 @@ if(TARGET transpose)
DEPENDS transpose-binary-rewrite
)
get_filename_component(DYNINST_LIB_DIR "${DYNINST_API_RT}" DIRECTORY CACHE)
set_tests_properties(
transpose-binary-rewrite
transpose-binary-rewrite-run
transpose-runtime-instrumentation
transpose-runtime-instrument
PROPERTIES
ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}:${DYNINST_LIB_DIR}:$ENV{LD_LIBRARY_PATH}"
ENVIRONMENT "${_test_environment}"
TIMEOUT 600
)
endif()
if(TARGET parallel-overhead)
add_test(
NAME parallel-overhead-binary-rewrite
COMMAND $<TARGET_FILE:hosttrace-exe> -o $<TARGET_FILE_DIR:parallel-overhead>/parallel-overhead.inst -v 2 -- $<TARGET_FILE:parallel-overhead>
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_test(
NAME parallel-overhead-binary-rewrite-run
COMMAND $<TARGET_FILE_DIR:parallel-overhead>/parallel-overhead.inst
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_test(
NAME parallel-overhead-runtime-instrument
COMMAND $<TARGET_FILE:hosttrace-exe> -v 2 -- $<TARGET_FILE:parallel-overhead>
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
set_tests_properties(
parallel-overhead-binary-rewrite-run
PROPERTIES
DEPENDS parallel-overhead-binary-rewrite
)
set_tests_properties(
parallel-overhead-binary-rewrite
parallel-overhead-binary-rewrite-run
parallel-overhead-runtime-instrument
PROPERTIES
ENVIRONMENT "${_test_environment}"
TIMEOUT 600
)
endif()