2323 - name : Install apt packages
2424 run : |
2525 sudo apt-get update
26- sudo apt-get install -y clang cmake libnuma-dev libtbb-dev
26+ sudo apt-get install -y clang cmake hwloc libnuma-dev libtbb-dev
2727
2828 - name : Checkout "tag" UMF version
2929 uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@@ -36,72 +36,96 @@ jobs:
3636 working-directory : ${{github.workspace}}/tag_version
3737 run : .github/scripts/install_hwloc.sh
3838
39- - name : Configure "tag" UMF build
40- working-directory : ${{github.workspace}}/tag_version
39+ - name : Checkout latest UMF version
40+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
41+ with :
42+ fetch-depth : 0
43+ path : ${{github.workspace}}/latest_version
44+
45+ - name : Configure latest UMF build
46+ working-directory : ${{github.workspace}}/latest_version
4147 run : >
4248 cmake
43- -B ${{github.workspace}}/tag_version/build
49+ -B ${{github.workspace}}/latest_version/build
50+ -DCMAKE_INSTALL_PREFIX=_install
4451 -DCMAKE_BUILD_TYPE=Debug
4552 -DUMF_BUILD_SHARED_LIBRARY=ON
4653 -DCMAKE_C_COMPILER=gcc
4754 -DCMAKE_CXX_COMPILER=g++
48- -DUMF_BUILD_TESTS=ON
49- -DUMF_BUILD_EXAMPLES=ON
55+ -DUMF_BUILD_TESTS=OFF
5056 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
5157 -DUMF_BUILD_CUDA_PROVIDER=ON
5258 -DUMF_FORMAT_CODE_STYLE=OFF
5359 -DUMF_DEVELOPER_MODE=ON
5460 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
55- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
56- -DUMF_TESTS_FAIL_ON_SKIP=ON
57-
58- - name : Build "tag" UMF
59- working-directory : ${{github.workspace}}/tag_version
60- run : |
61- cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
6261
63- - name : Run "tag" UMF tests
64- working-directory : ${{github.workspace}}/tag_version/build
62+ - name : Build latest UMF
63+ working-directory : ${{github.workspace}}/latest_version
6564 run : |
66- LD_LIBRARY_PATH=${{github.workspace}}/tag_version/build/lib/ ctest --output-on-failure
67-
68- - name : Checkout latest UMF version
69- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
70- with :
71- fetch-depth : 0
72- path : ${{github.workspace}}/latest_version
65+ cmake --build ${{github.workspace}}/latest_version/build -j $(nproc)
7366
74- - name : Configure latest UMF build
67+ - name : Install latest UMF
7568 working-directory : ${{github.workspace}}/latest_version
69+ run : sudo cmake --install ${{github.workspace}}/latest_version/build --config Debug
70+
71+ - name : Configure "tag" UMF build
72+ working-directory : ${{github.workspace}}/tag_version
7673 run : >
7774 cmake
78- -B ${{github.workspace}}/latest_version /build
75+ -B ${{github.workspace}}/tag_version /build
7976 -DCMAKE_BUILD_TYPE=Debug
8077 -DUMF_BUILD_SHARED_LIBRARY=ON
8178 -DCMAKE_C_COMPILER=gcc
8279 -DCMAKE_CXX_COMPILER=g++
83- -DUMF_BUILD_TESTS=OFF
80+ -DUMF_BUILD_TESTS=ON
81+ -DUMF_BUILD_EXAMPLES=ON
8482 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
8583 -DUMF_BUILD_CUDA_PROVIDER=ON
8684 -DUMF_FORMAT_CODE_STYLE=OFF
8785 -DUMF_DEVELOPER_MODE=ON
8886 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
87+ -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
88+ -DUMF_TESTS_FAIL_ON_SKIP=ON
8989
90- - name : Build latest UMF
91- working-directory : ${{github.workspace}}/latest_version
90+ - name : Build "tag" UMF
91+ working-directory : ${{github.workspace}}/tag_version
9292 run : |
93- cmake --build ${{github.workspace}}/latest_version /build -j $(nproc)
93+ cmake --build ${{github.workspace}}/tag_version /build -j $(nproc)
9494
95- - name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
96- working-directory : ${{github.workspace}}/tag_version/build
97- # Disable incompatible tests:
98- # - GTEST_FILTER used to skip only single test cases
99- # - ctest's exclude - disable test binary that rely on internal structures
100- run : >
101- UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
102- LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
103- GTEST_FILTER="-*umfIpcTest.GetPoolByOpenedHandle*"
104- ctest --verbose -E "umf-mempolicy"
95+ # - name: Run "tag" UMF tests
96+ # working-directory: ${{github.workspace}}/tag_version/build
97+ # run: |
98+ # LD_LIBRARY_PATH=${{github.workspace}}/tag_version/build/lib/ ctest --output-on-failure
99+
100+ # - name: Run "tag" UMF tests with latest UMF libs (warnings enabled)
101+ # working-directory: ${{github.workspace}}/tag_version/build
102+ # # Disable incompatible tests:
103+ # # - GTEST_FILTER used to skip only single test cases
104+ # # - ctest's exclude - disable test binary that rely on internal structures
105+ # run: >
106+ # UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
107+ # LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
108+ # GTEST_FILTER="-*umfIpcTest.GetPoolByOpenedHandle*"
109+ # ctest --verbose -E "umf-mempolicy"
110+
111+ # TODO explain EXAMPLES_EXCLUDE_LIST
112+ - name : Build and run "tag" examples using the latest UMF libraries
113+ working-directory : ${{github.workspace}}/tag_version
114+ run : |
115+ EXAMPLES_EXCLUDE_LIST="cmake|common|cuda|hmat|level_zero"
116+ rm -rf build
117+ rm -rf include
118+ mkdir _examples
119+ cd _examples
120+ EXAMPLES_LIST=$(find ${{github.workspace}}/tag_version/examples -maxdepth 1 -mindepth 1 -type d | grep -Ev $EXAMPLES_EXCLUDE_LIST | xargs -n 1 basename)
121+ for EXAMPLE_NAME in $EXAMPLES_LIST; do
122+ cd ${{github.workspace}}/tag_version
123+ mkdir -p _examples/$EXAMPLE_NAME;
124+ cd _examples/$EXAMPLE_NAME;
125+ CMAKE_PREFIX_PATH=${{github.workspace}}/latest_version/_install cmake ${{github.workspace}}/tag_version/examples/$EXAMPLE_NAME;
126+ make;
127+ find . -maxdepth 1 -type f -executable -exec {} \;
128+ done
105129
106130 windows :
107131 name : Windows
0 commit comments