From 143f4a2362baa177b1e914d3cecd56268e9fbd74 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Mon, 13 Jan 2025 14:52:31 +0100 Subject: [PATCH 01/25] Docker in the nightly testing --- .github/workflows/nightly.yml | 95 ++++++++++++++++++----------------- .github/workflows/pr_push.yml | 2 + third_party/requirements.txt | 14 +++--- 3 files changed, 58 insertions(+), 53 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 46543fac8..1badd22fd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -2,10 +2,10 @@ name: Nightly # This job is run at 00:00 UTC every day or on demand. -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' +on: workflow_call + # workflow_dispatch: + # schedule: + # - cron: '0 0 * * *' permissions: contents: read @@ -27,28 +27,29 @@ jobs: with: fetch-depth: 0 - - name: Install apt packages + - name: Build Docker image run: | - sudo apt-get update - sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev + docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - - name: Configure CMake - run: > - cmake - -B ${{github.workspace}}/build - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - -DCMAKE_C_COMPILER=${{matrix.compiler.c}} - -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} - -DUMF_TESTS_FAIL_ON_SKIP=ON - -DUMF_DEVELOPER_MODE=ON - -DUMF_BUILD_FUZZTESTS=ON - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --verbose -j$(nproc) - - - name: Fuzz long test - working-directory: ${{github.workspace}}/build - run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long" + - name: Fuzz long test in Docker container + run: | + docker run --rm \ + -v ${{github.workspace}}:/workspace \ + -w /workspace \ + umf-ubuntu-20.04 \ + bash -c " + sudo apt-get update && + sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && + cmake -B /workspace/build \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_C_COMPILER=${{matrix.compiler.c}} \ + -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} \ + -DUMF_TESTS_FAIL_ON_SKIP=ON \ + -DUMF_DEVELOPER_MODE=ON \ + -DUMF_BUILD_FUZZTESTS=ON && + cmake --build /workspace/build --config ${matrix.build_type} --verbose -j$(nproc) && + ctest -C ${matrix.build_type} --output-on-failure --verbose -L fuzz-long + " valgrind: name: Valgrind @@ -64,30 +65,32 @@ jobs: with: fetch-depth: 0 - - name: Install apt packages + - name: Build Docker image run: | - sudo apt-get update - sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind + docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - - name: Configure CMake - run: > - cmake - -B ${{github.workspace}}/build - -DCMAKE_BUILD_TYPE=Debug - -DUMF_FORMAT_CODE_STYLE=OFF - -DUMF_DEVELOPER_MODE=ON - -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON - -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON - -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF - -DUMF_BUILD_CUDA_PROVIDER=OFF - -DUMF_USE_VALGRIND=1 - -DUMF_TESTS_FAIL_ON_SKIP=ON - - - name: Build - run: cmake --build ${{github.workspace}}/build --config Debug -j$(nproc) - - - name: Run tests under valgrind - run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}} + - name: Run tests under valgrind in Docker + run: | + docker run --rm \ + -v ${{github.workspace}}:/workspace \ + -w /workspace \ + umf-ubuntu-20.04 \ + bash -c "\ + sudo apt-get update && + sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind && + cmake -B /workspace/build \ + -DCMAKE_BUILD_TYPE=Debug \ + -DUMF_FORMAT_CODE_STYLE=OFF \ + -DUMF_DEVELOPER_MODE=ON \ + -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON \ + -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON \ + -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF \ + -DUMF_BUILD_CUDA_PROVIDER=OFF \ + -DUMF_USE_VALGRIND=1 \ + -DUMF_TESTS_FAIL_ON_SKIP=ON && + cmake --build /workspace/build --config Debug -j$(nproc) && + /workspace/test/test_valgrind.sh /workspace /workspace/build ${matrix.tool} + " # TODO fix #843 #icx: diff --git a/.github/workflows/pr_push.yml b/.github/workflows/pr_push.yml index 9623b69f1..dc36751b5 100644 --- a/.github/workflows/pr_push.yml +++ b/.github/workflows/pr_push.yml @@ -20,6 +20,8 @@ jobs: uses: ./.github/workflows/reusable_checks.yml DocsBuild: uses: ./.github/workflows/reusable_docs_build.yml + Nightly: + uses: ./.github/workflows/nightly.yml FastBuild: name: Fast builds needs: [CodeChecks, DocsBuild] diff --git a/third_party/requirements.txt b/third_party/requirements.txt index 6a8be6e46..320319d0e 100644 --- a/third_party/requirements.txt +++ b/third_party/requirements.txt @@ -7,11 +7,11 @@ black==24.3.0 packaging==24.2 # Generating HTML documentation pygments==2.18.0 -sphinxcontrib_applehelp==2.0.0 -sphinxcontrib_devhelp==2.0.0 -sphinxcontrib_htmlhelp==2.1.0 -sphinxcontrib_serializinghtml==2.0.0 -sphinxcontrib_qthelp==2.0.0 +sphinxcontrib_applehelp==1.0.0 +sphinxcontrib_devhelp==1.0.0 +sphinxcontrib_htmlhelp==2.0.1 +sphinxcontrib_serializinghtml==1.1.5 +sphinxcontrib_qthelp==1.0.3 breathe==4.35.0 -sphinx==8.1.3 -sphinx_book_theme==1.1.3 +sphinx==7.1.2 +sphinx_book_theme==1.0.1 From 46b60fba64903ff9d1e93b71cb26685f4278f2ea Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 14 Jan 2025 10:37:55 +0100 Subject: [PATCH 02/25] Try to fix bad substitution error --- .github/workflows/nightly.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1badd22fd..d02f51f8d 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -36,19 +36,20 @@ jobs: docker run --rm \ -v ${{github.workspace}}:/workspace \ -w /workspace \ + --env BUILD_TYPE=${{matrix.build_type}} \ umf-ubuntu-20.04 \ bash -c " sudo apt-get update && sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && cmake -B /workspace/build \ - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_BUILD_TYPE=\$BUILD_TYPE \ -DCMAKE_C_COMPILER=${{matrix.compiler.c}} \ -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} \ -DUMF_TESTS_FAIL_ON_SKIP=ON \ -DUMF_DEVELOPER_MODE=ON \ -DUMF_BUILD_FUZZTESTS=ON && - cmake --build /workspace/build --config ${matrix.build_type} --verbose -j$(nproc) && - ctest -C ${matrix.build_type} --output-on-failure --verbose -L fuzz-long + cmake --build /workspace/build --config \$BUILD_TYPE --verbose -j$(nproc) && + ctest -C \$BUILD_TYPE --output-on-failure --verbose -L "fuzz-long" " valgrind: From 81abd426374050317179d4d33a1d7c74794baeeb Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 14 Jan 2025 10:51:24 +0100 Subject: [PATCH 03/25] Try to fix bad substitution error V2 --- .github/workflows/nightly.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d02f51f8d..df0258657 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -39,8 +39,8 @@ jobs: --env BUILD_TYPE=${{matrix.build_type}} \ umf-ubuntu-20.04 \ bash -c " - sudo apt-get update && - sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && + apt-get update && + apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && cmake -B /workspace/build \ -DCMAKE_BUILD_TYPE=\$BUILD_TYPE \ -DCMAKE_C_COMPILER=${{matrix.compiler.c}} \ @@ -75,10 +75,11 @@ jobs: docker run --rm \ -v ${{github.workspace}}:/workspace \ -w /workspace \ + --env TOOL=${{ matrix.tool }} \ umf-ubuntu-20.04 \ bash -c "\ - sudo apt-get update && - sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind && + apt-get update && + apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind && cmake -B /workspace/build \ -DCMAKE_BUILD_TYPE=Debug \ -DUMF_FORMAT_CODE_STYLE=OFF \ @@ -90,7 +91,7 @@ jobs: -DUMF_USE_VALGRIND=1 \ -DUMF_TESTS_FAIL_ON_SKIP=ON && cmake --build /workspace/build --config Debug -j$(nproc) && - /workspace/test/test_valgrind.sh /workspace /workspace/build ${matrix.tool} + /workspace/test/test_valgrind.sh /workspace /workspace/build \$TOOL " # TODO fix #843 From 0d602d999ec310034c59607f6e6f3aa38f41c8d3 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 14 Jan 2025 13:18:13 +0100 Subject: [PATCH 04/25] Try to fix bad substitution error V2.2 --- .github/workflows/nightly.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index df0258657..ae50daf41 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -37,6 +37,7 @@ jobs: -v ${{github.workspace}}:/workspace \ -w /workspace \ --env BUILD_TYPE=${{matrix.build_type}} \ + --user root \ umf-ubuntu-20.04 \ bash -c " apt-get update && @@ -76,6 +77,7 @@ jobs: -v ${{github.workspace}}:/workspace \ -w /workspace \ --env TOOL=${{ matrix.tool }} \ + --user root \ umf-ubuntu-20.04 \ bash -c "\ apt-get update && From ede9ec5a8d69579c67c103ccd4339e4a481375d2 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Wed, 15 Jan 2025 09:25:20 +0100 Subject: [PATCH 05/25] install hwloc --- .github/docker/ubuntu-20.04.Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/docker/ubuntu-20.04.Dockerfile b/.github/docker/ubuntu-20.04.Dockerfile index a6a45a8c1..6fde962cb 100644 --- a/.github/docker/ubuntu-20.04.Dockerfile +++ b/.github/docker/ubuntu-20.04.Dockerfile @@ -50,6 +50,13 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean all +# Install hwloc +COPY .github/scripts/install_hwloc.sh /opt/umf/install_hwloc.sh +RUN /opt/umf/install_hwloc.sh \ + && /opt/umf/install_hwloc.sh \ + && ldconfig \ + && rm -f /opt/umf/install_hwloc.sh + # Prepare a dir (accessible by anyone) RUN mkdir --mode 777 /opt/umf/ From b565cd358d344493d997b6159cf760508970bbf9 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Wed, 15 Jan 2025 15:44:26 +0100 Subject: [PATCH 06/25] , --- .github/docker/ubuntu-20.04.Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/docker/ubuntu-20.04.Dockerfile b/.github/docker/ubuntu-20.04.Dockerfile index 6fde962cb..249d61b11 100644 --- a/.github/docker/ubuntu-20.04.Dockerfile +++ b/.github/docker/ubuntu-20.04.Dockerfile @@ -53,7 +53,6 @@ RUN apt-get update \ # Install hwloc COPY .github/scripts/install_hwloc.sh /opt/umf/install_hwloc.sh RUN /opt/umf/install_hwloc.sh \ - && /opt/umf/install_hwloc.sh \ && ldconfig \ && rm -f /opt/umf/install_hwloc.sh From 888c185aeebee8dc7aeb44dd9b9efef96358dec1 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Wed, 15 Jan 2025 18:50:58 +0100 Subject: [PATCH 07/25] working docker --- .github/docker/ubuntu-20.04.Dockerfile | 11 +++++++---- third_party/requirements.txt | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/docker/ubuntu-20.04.Dockerfile b/.github/docker/ubuntu-20.04.Dockerfile index 249d61b11..ad86706e6 100644 --- a/.github/docker/ubuntu-20.04.Dockerfile +++ b/.github/docker/ubuntu-20.04.Dockerfile @@ -52,12 +52,15 @@ RUN apt-get update \ # Install hwloc COPY .github/scripts/install_hwloc.sh /opt/umf/install_hwloc.sh -RUN /opt/umf/install_hwloc.sh \ - && ldconfig \ - && rm -f /opt/umf/install_hwloc.sh +RUN apt-get update \ + && apt-get install -y dos2unix libtool \ + && dos2unix /opt/umf/install_hwloc.sh \ + && bash -x /opt/umf/install_hwloc.sh \ + && ldconfig \ + && rm -f /opt/umf/install_hwloc.sh # Prepare a dir (accessible by anyone) -RUN mkdir --mode 777 /opt/umf/ +RUN mkdir -p --mode 777 /opt/umf/ # Additional dependencies (installed via pip) COPY third_party/requirements.txt /opt/umf/requirements.txt diff --git a/third_party/requirements.txt b/third_party/requirements.txt index b4d9a3171..a9cc0d989 100644 --- a/third_party/requirements.txt +++ b/third_party/requirements.txt @@ -13,8 +13,8 @@ sphinxcontrib_htmlhelp==2.0.1 sphinxcontrib_serializinghtml==1.1.5 sphinxcontrib_qthelp==1.0.3 breathe==4.35.0 -sphinx==8.1.3 -sphinx_book_theme==1.1.3 +sphinx==7.1.2 +sphinx_book_theme==1.0.1 # Spelling check in documentation pyenchant==3.2.2 sphinxcontrib-spelling==8.0.0 From b610766c72daf520aa88c4ae86890b71620be142 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Wed, 15 Jan 2025 19:20:59 +0100 Subject: [PATCH 08/25] add valgrind --- .github/docker/ubuntu-20.04.Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/docker/ubuntu-20.04.Dockerfile b/.github/docker/ubuntu-20.04.Dockerfile index ad86706e6..25eac7dce 100644 --- a/.github/docker/ubuntu-20.04.Dockerfile +++ b/.github/docker/ubuntu-20.04.Dockerfile @@ -59,6 +59,10 @@ RUN apt-get update \ && ldconfig \ && rm -f /opt/umf/install_hwloc.sh +# Install valgrind +RUN apt-get update && \ + apt-get install -y valgrind cmake hwloc libhwloc-dev libnuma-dev libtbb-dev + # Prepare a dir (accessible by anyone) RUN mkdir -p --mode 777 /opt/umf/ From 8d27aea888fbc92b55a80b4022a34661167d3692 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 16 Jan 2025 14:20:06 +0100 Subject: [PATCH 09/25] .. --- .github/workflows/nightly.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index ae50daf41..13009a18e 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -40,6 +40,7 @@ jobs: --user root \ umf-ubuntu-20.04 \ bash -c " + export VALGRIND_LIB=/usr/lib/valgrind/ && apt-get update && apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && cmake -B /workspace/build \ From 3207e4cfbda349e2be2ef6e5d98775919d700178 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 16 Jan 2025 16:46:56 +0100 Subject: [PATCH 10/25] Add FindVALGRIND.cmake --- .github/workflows/nightly.yml | 12 ++++++------ CMakeLists.txt | 7 +++++++ cmake/FindVALGRIND.cmake | 22 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 cmake/FindVALGRIND.cmake diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 13009a18e..c44a2e21c 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -27,9 +27,9 @@ jobs: with: fetch-depth: 0 - - name: Build Docker image - run: | - docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . + # - name: Build Docker image + # run: | + # docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - name: Fuzz long test in Docker container run: | @@ -68,9 +68,9 @@ jobs: with: fetch-depth: 0 - - name: Build Docker image - run: | - docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . + # - name: Build Docker image + # run: | + # docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - name: Run tests under valgrind in Docker run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index 70ac08799..26e641462 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,13 @@ include(CMakePackageConfigHelpers) include(GNUInstallDirs) find_package(PkgConfig) +find_package(Valgrind REQUIRED) +if(Valgrind_FOUND) + message(STATUS "Found Valgrind!") +else() + message(FATAL_ERROR "Valgrind not found!") +endif() + # Define a list to store the names of all options set(UMF_OPTIONS_LIST "") list(APPEND UMF_OPTIONS_LIST CMAKE_BUILD_TYPE) diff --git a/cmake/FindVALGRIND.cmake b/cmake/FindVALGRIND.cmake new file mode 100644 index 000000000..cf9a9a86c --- /dev/null +++ b/cmake/FindVALGRIND.cmake @@ -0,0 +1,22 @@ +# Copyright (C) 2025 Intel Corporation +# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +if(NOT VALGRIND_ROOT AND DEFINED ENV{VALGRIND_ROOT}) + set(VALGRIND_ROOT "$ENV{VALGRIND_ROOT}" CACHE PATH "Valgrind base directory location (optional, used for nonstandard installation paths)") + mark_as_advanced(VALGRIND_ROOT) +endif() + +# Search path for nonstandard locations +if(VALGRIND_ROOT) + set(Valgrind_INCLUDE_PATH PATHS "${VALGRIND_ROOT}/include" "${VALGRIND_ROOT}/valgrind/current/usr/include" NO_DEFAULT_PATH) + set(Valgrind_BINARY_PATH PATHS "${VALGRIND_ROOT}/bin" NO_DEFAULT_PATH) +endif() + +find_path(Valgrind_INCLUDE_DIR valgrind/memcheck.h HINTS ${Valgrind_INCLUDE_PATH}) +find_program(Valgrind_EXECUTABLE NAMES valgrind PATH ${Valgrind_BINARY_PATH}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Valgrind DEFAULT_MSG Valgrind_INCLUDE_DIR Valgrind_EXECUTABLE) + +mark_as_advanced(Valgrind_INCLUDE_DIR Valgrind_EXECUTABLE) \ No newline at end of file From 6f9ed9bcc4374b06fe0151225d5dfba031961644 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 23 Jan 2025 14:11:22 +0100 Subject: [PATCH 11/25] build-docker-BasicBuilds --- .github/workflows/nightly.yml | 124 ++++++++++++++++++---------------- CMakeLists.txt | 7 -- 2 files changed, 67 insertions(+), 64 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index c44a2e21c..4f227e8fa 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -2,10 +2,10 @@ name: Nightly # This job is run at 00:00 UTC every day or on demand. -on: workflow_call - # workflow_dispatch: - # schedule: - # - cron: '0 0 * * *' +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * *' permissions: contents: read @@ -27,32 +27,46 @@ jobs: with: fetch-depth: 0 - # - name: Build Docker image - # run: | - # docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - - - name: Fuzz long test in Docker container + - name: Install apt packages run: | - docker run --rm \ - -v ${{github.workspace}}:/workspace \ - -w /workspace \ - --env BUILD_TYPE=${{matrix.build_type}} \ - --user root \ - umf-ubuntu-20.04 \ - bash -c " - export VALGRIND_LIB=/usr/lib/valgrind/ && - apt-get update && - apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev && - cmake -B /workspace/build \ - -DCMAKE_BUILD_TYPE=\$BUILD_TYPE \ - -DCMAKE_C_COMPILER=${{matrix.compiler.c}} \ - -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} \ - -DUMF_TESTS_FAIL_ON_SKIP=ON \ - -DUMF_DEVELOPER_MODE=ON \ - -DUMF_BUILD_FUZZTESTS=ON && - cmake --build /workspace/build --config \$BUILD_TYPE --verbose -j$(nproc) && - ctest -C \$BUILD_TYPE --output-on-failure --verbose -L "fuzz-long" - " + sudo apt-get update + sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev + + - name: Configure CMake + run: > + cmake + -B ${{github.workspace}}/build + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} + -DCMAKE_C_COMPILER=${{matrix.compiler.c}} + -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} + -DUMF_TESTS_FAIL_ON_SKIP=ON + -DUMF_DEVELOPER_MODE=ON + -DUMF_BUILD_FUZZTESTS=ON + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --verbose -j$(nproc) + + - name: Fuzz long test + working-directory: ${{github.workspace}}/build + run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long" + + build-docker-BasicBuilds: + name: Build Docker image + needs: [FastBuild] + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Build Docker image + run: | + docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . + + - name: Run BasicBuilds + run: | + docker run --rm umf-ubuntu-20.04 sh -c " + gh workflow run ./.github/workflows/reusable_basic.yml \ + " valgrind: name: Valgrind @@ -68,34 +82,30 @@ jobs: with: fetch-depth: 0 - # - name: Build Docker image - # run: | - # docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - - - name: Run tests under valgrind in Docker + - name: Install apt packages run: | - docker run --rm \ - -v ${{github.workspace}}:/workspace \ - -w /workspace \ - --env TOOL=${{ matrix.tool }} \ - --user root \ - umf-ubuntu-20.04 \ - bash -c "\ - apt-get update && - apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind && - cmake -B /workspace/build \ - -DCMAKE_BUILD_TYPE=Debug \ - -DUMF_FORMAT_CODE_STYLE=OFF \ - -DUMF_DEVELOPER_MODE=ON \ - -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON \ - -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON \ - -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF \ - -DUMF_BUILD_CUDA_PROVIDER=OFF \ - -DUMF_USE_VALGRIND=1 \ - -DUMF_TESTS_FAIL_ON_SKIP=ON && - cmake --build /workspace/build --config Debug -j$(nproc) && - /workspace/test/test_valgrind.sh /workspace /workspace/build \$TOOL - " + sudo apt-get update + sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind + + - name: Configure CMake + run: > + cmake + -B ${{github.workspace}}/build + -DCMAKE_BUILD_TYPE=Debug + -DUMF_FORMAT_CODE_STYLE=OFF + -DUMF_DEVELOPER_MODE=ON + -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON + -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON + -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF + -DUMF_BUILD_CUDA_PROVIDER=OFF + -DUMF_USE_VALGRIND=1 + -DUMF_TESTS_FAIL_ON_SKIP=ON + + - name: Build + run: cmake --build ${{github.workspace}}/build --config Debug -j$(nproc) + + - name: Run tests under valgrind + run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}} # TODO fix #843 #icx: @@ -201,4 +211,4 @@ jobs: short_run: false # Beside the 2 LTS Ubuntu, we also test this on the latest Ubuntu - to be updated # every 6 months, so we verify the latest version of packages (compilers, etc.). - os: "['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-24.10']" + os: "['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-24.10']" \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 26e641462..70ac08799 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,13 +33,6 @@ include(CMakePackageConfigHelpers) include(GNUInstallDirs) find_package(PkgConfig) -find_package(Valgrind REQUIRED) -if(Valgrind_FOUND) - message(STATUS "Found Valgrind!") -else() - message(FATAL_ERROR "Valgrind not found!") -endif() - # Define a list to store the names of all options set(UMF_OPTIONS_LIST "") list(APPEND UMF_OPTIONS_LIST CMAKE_BUILD_TYPE) From c7053bf7a041add29dd01dc9a6620ffad785f49b Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 23 Jan 2025 14:20:13 +0100 Subject: [PATCH 12/25] build-docker-BasicBuilds --- .github/workflows/nightly.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 4f227e8fa..a1da71ad0 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -2,10 +2,10 @@ name: Nightly # This job is run at 00:00 UTC every day or on demand. -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' +on: workflow_call + # workflow_dispatch: + # schedule: + # - cron: '0 0 * * *' permissions: contents: read @@ -52,7 +52,6 @@ jobs: build-docker-BasicBuilds: name: Build Docker image - needs: [FastBuild] runs-on: ubuntu-latest steps: - name: Checkout repository From ae630ec95352525ceb077d0ad15bb3a4886de58d Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 23 Jan 2025 14:40:02 +0100 Subject: [PATCH 13/25] build-docker-BasicBuilds V2 --- .github/workflows/nightly.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index a1da71ad0..9d15beb97 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -64,7 +64,10 @@ jobs: - name: Run BasicBuilds run: | docker run --rm umf-ubuntu-20.04 sh -c " - gh workflow run ./.github/workflows/reusable_basic.yml \ + apt-get update && apt-get install -y curl gnupg lsb-release && \ + curl -fsSL https://cli.github.com/packages/githubcli.repo | tee /etc/apt/sources.list.d/github-cli.list && \ + apt-get update && apt-get install gh && \ + gh workflow run ./.github/workflows/reusable_basic.yml " valgrind: From a15b79217786ebe795e4f6a15fb9fad42a724b49 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Thu, 23 Jan 2025 14:49:07 +0100 Subject: [PATCH 14/25] build-docker-BasicBuilds V2.2 --- .github/workflows/nightly.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 9d15beb97..11d99f63f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -63,10 +63,15 @@ jobs: - name: Run BasicBuilds run: | - docker run --rm umf-ubuntu-20.04 sh -c " - apt-get update && apt-get install -y curl gnupg lsb-release && \ + docker run --rm \ + --user root \ + umf-ubuntu-20.04 \ + bash -c " + apt-get update && + apt-get install -y curl gnupg lsb-release && \ curl -fsSL https://cli.github.com/packages/githubcli.repo | tee /etc/apt/sources.list.d/github-cli.list && \ - apt-get update && apt-get install gh && \ + apt-get update && \ + apt-get install gh && \ gh workflow run ./.github/workflows/reusable_basic.yml " From 10ab5cf5ef159e011d83732ac1c228eb118bcc2d Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 10:53:24 +0100 Subject: [PATCH 15/25] dockerHub test --- .github/docker/ubuntu-20.04.Dockerfile | 2 +- .github/workflows/nightly.yml | 28 ++++---------------------- .github/workflows/pr_push.yml | 8 ++++---- .github/workflows/reusable_fast.yml | 3 ++- 4 files changed, 11 insertions(+), 30 deletions(-) diff --git a/.github/docker/ubuntu-20.04.Dockerfile b/.github/docker/ubuntu-20.04.Dockerfile index 25eac7dce..9d4e07662 100644 --- a/.github/docker/ubuntu-20.04.Dockerfile +++ b/.github/docker/ubuntu-20.04.Dockerfile @@ -4,7 +4,7 @@ # # Dockerfile - a 'recipe' for Docker to build an image of ubuntu-based -# environment for building the Unified Memory Framework project. +# environment for building the Unified Memory Framework project. # # Pull base image ("20.04") diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 11d99f63f..1fd4fb7b2 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -50,30 +50,10 @@ jobs: working-directory: ${{github.workspace}}/build run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long" - build-docker-BasicBuilds: - name: Build Docker image - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Build Docker image - run: | - docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 . - - - name: Run BasicBuilds - run: | - docker run --rm \ - --user root \ - umf-ubuntu-20.04 \ - bash -c " - apt-get update && - apt-get install -y curl gnupg lsb-release && \ - curl -fsSL https://cli.github.com/packages/githubcli.repo | tee /etc/apt/sources.list.d/github-cli.list && \ - apt-get update && \ - apt-get install gh && \ - gh workflow run ./.github/workflows/reusable_basic.yml - " + FastBuild: + name: Fast builds + needs: [CodeChecks, DocsBuild] + uses: ./.github/workflows/reusable_fast.yml valgrind: name: Valgrind diff --git a/.github/workflows/pr_push.yml b/.github/workflows/pr_push.yml index dc36751b5..e3f1bb3e3 100644 --- a/.github/workflows/pr_push.yml +++ b/.github/workflows/pr_push.yml @@ -22,10 +22,10 @@ jobs: uses: ./.github/workflows/reusable_docs_build.yml Nightly: uses: ./.github/workflows/nightly.yml - FastBuild: - name: Fast builds - needs: [CodeChecks, DocsBuild] - uses: ./.github/workflows/reusable_fast.yml + # FastBuild: + # name: Fast builds + # needs: [CodeChecks, DocsBuild] + # uses: ./.github/workflows/reusable_fast.yml Build: name: Basic builds needs: [FastBuild] diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 5673727ac..62284be1c 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -10,9 +10,10 @@ env: BUILD_DIR : "${{github.workspace}}/build" INSTL_DIR : "${{github.workspace}}/../install-dir" -jobs: FastBuild: name: Fast builds + container: + image: rbanka974/umf-ubuntu-20.04:latest env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: From cd042a6ebb3433db99d25be09f33ada0b5b23cc8 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 10:56:57 +0100 Subject: [PATCH 16/25] dockerHub test --- .github/workflows/reusable_fast.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 62284be1c..0e0997c46 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -10,6 +10,7 @@ env: BUILD_DIR : "${{github.workspace}}/build" INSTL_DIR : "${{github.workspace}}/../install-dir" +jobs: FastBuild: name: Fast builds container: From 84f5db81fa039a054c4de8df43d3eb72aa408bbb Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 10:58:34 +0100 Subject: [PATCH 17/25] dockerHub test --- .github/workflows/pr_push.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr_push.yml b/.github/workflows/pr_push.yml index e3f1bb3e3..dc36751b5 100644 --- a/.github/workflows/pr_push.yml +++ b/.github/workflows/pr_push.yml @@ -22,10 +22,10 @@ jobs: uses: ./.github/workflows/reusable_docs_build.yml Nightly: uses: ./.github/workflows/nightly.yml - # FastBuild: - # name: Fast builds - # needs: [CodeChecks, DocsBuild] - # uses: ./.github/workflows/reusable_fast.yml + FastBuild: + name: Fast builds + needs: [CodeChecks, DocsBuild] + uses: ./.github/workflows/reusable_fast.yml Build: name: Basic builds needs: [FastBuild] From 5d6891740c1e9906fcab9030f081a479d6b62e99 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 11:00:56 +0100 Subject: [PATCH 18/25] dockerHub test --- .github/workflows/nightly.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1fd4fb7b2..df9754b36 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -52,7 +52,6 @@ jobs: FastBuild: name: Fast builds - needs: [CodeChecks, DocsBuild] uses: ./.github/workflows/reusable_fast.yml valgrind: From 233a67d76480900bb1d19b5839f5a02c085fe941 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 11:05:27 +0100 Subject: [PATCH 19/25] dockerHub test --- .github/workflows/reusable_fast.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 0e0997c46..f7abf8f5f 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -15,6 +15,7 @@ jobs: name: Fast builds container: image: rbanka974/umf-ubuntu-20.04:latest + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-20.04' env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: From 1dc7cca180db71fd40f5f4c50d2a64d90646d294 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 11:31:53 +0100 Subject: [PATCH 20/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 122 +++++++++++++++++++--------- 1 file changed, 83 insertions(+), 39 deletions(-) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index f7abf8f5f..34c9a822e 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -1,4 +1,3 @@ -# Fast builds name: FastBuild on: workflow_call @@ -11,53 +10,37 @@ env: INSTL_DIR : "${{github.workspace}}/../install-dir" jobs: - FastBuild: - name: Fast builds - container: + FastBuild_Linux: + name: Fast builds (Linux) + runs-on: ubuntu-latest + container: image: rbanka974/umf-ubuntu-20.04:latest - if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-20.04' + env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: matrix: include: - - os: windows-latest - disjoint: 'OFF' - build_tests: 'ON' - simple_cmake: 'OFF' - # pure C build (Windows) - - os: windows-latest - disjoint: 'OFF' - # Tests' building is off for a pure C build - build_tests: 'OFF' - simple_cmake: 'OFF' - os: ubuntu-latest disjoint: 'ON' build_tests: 'ON' - # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command extra_build_options: '-DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON -DUMF_BUILD_BENCHMARKS_MT=ON' simple_cmake: 'OFF' - # pure C build (Linux) - os: ubuntu-latest disjoint: 'OFF' - # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command - # Tests' building is off for a pure C build build_tests: 'OFF' extra_build_options: '-DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON' simple_cmake: 'OFF' - # simplest CMake on ubuntu-latest - os: ubuntu-latest disjoint: 'OFF' build_tests: 'ON' extra_build_options: '-DCMAKE_BUILD_TYPE=Release' simple_cmake: 'ON' - # simplest CMake ubuntu-20.04 - os: ubuntu-20.04 disjoint: 'OFF' build_tests: 'ON' extra_build_options: '-DCMAKE_BUILD_TYPE=Release' simple_cmake: 'ON' - runs-on: ${{ (matrix.os == 'ubuntu-latest' && github.repository_owner == 'oneapi-src') && 'intel-ubuntu-22.04' || matrix.os }} steps: - name: Checkout repository @@ -65,21 +48,7 @@ jobs: with: fetch-depth: 0 - - name: Initialize vcpkg - if: matrix.os == 'windows-latest' - uses: lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5 - with: - vcpkgGitCommitId: 3dd44b931481d7a8e9ba412621fa810232b66289 - vcpkgDirectory: ${{env.BUILD_DIR}}/vcpkg - vcpkgJsonGlob: '**/vcpkg.json' - - - name: Install dependencies (windows-latest) - if: matrix.os == 'windows-latest' - run: vcpkg install - shell: pwsh # Specifies PowerShell as the shell for running the script. - - name: Install dependencies (ubuntu-latest) - if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y cmake libhwloc-dev libnuma-dev libtbb-dev @@ -92,7 +61,6 @@ jobs: .github/scripts/install_hwloc.sh # install hwloc-2.3.0 instead of hwloc-2.1.0 present in the OS package - name: Set ptrace value for IPC test (on Linux only) - if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-20.04' }} run: sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope" - name: Configure CMake @@ -136,8 +104,84 @@ jobs: working-directory: ${{env.BUILD_DIR}} run: ctest --output-on-failure --test-dir test -C Release - # TODO: We could add some script to verify metadata of dll's (selected fields, perhaps) - # ref. https://superuser.com/questions/381276/what-are-some-nice-command-line-ways-to-inspect-dll-exe-details + FastBuild_Windows: + name: Fast builds (Windows) + runs-on: windows-latest + + env: + VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" + strategy: + matrix: + include: + - os: windows-latest + disjoint: 'OFF' + build_tests: 'ON' + simple_cmake: 'OFF' + - os: windows-latest + disjoint: 'OFF' + build_tests: 'OFF' + simple_cmake: 'OFF' + + steps: + - name: Checkout repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - name: Initialize vcpkg + if: matrix.os == 'windows-latest' + uses: lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5 + with: + vcpkgGitCommitId: 3dd44b931481d7a8e9ba412621fa810232b66289 + vcpkgDirectory: ${{env.BUILD_DIR}}/vcpkg + vcpkgJsonGlob: '**/vcpkg.json' + + - name: Install dependencies (windows-latest) + if: matrix.os == 'windows-latest' + run: vcpkg install + shell: pwsh + + - name: Configure CMake + if: matrix.simple_cmake == 'OFF' + run: > + cmake + -B ${{env.BUILD_DIR}} + -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}" + -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}" + -DUMF_FORMAT_CODE_STYLE=OFF + -DUMF_DEVELOPER_MODE=ON + -DUMF_BUILD_LIBUMF_POOL_DISJOINT=${{matrix.disjoint}} + -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON + -DUMF_BUILD_TESTS=${{matrix.build_tests}} + -DUMF_BUILD_EXAMPLES=ON + -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON + -DUMF_BUILD_CUDA_PROVIDER=ON + -DUMF_TESTS_FAIL_ON_SKIP=ON + -DUMF_BUILD_SHARED_LIBRARY=ON + ${{matrix.extra_build_options}} + + - name: Configure CMake (simple) + if: matrix.simple_cmake == 'ON' + run: > + cmake + -B ${{env.BUILD_DIR}} + -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}" + -DUMF_BUILD_SHARED_LIBRARY=ON + -DUMF_TESTS_FAIL_ON_SKIP=ON + ${{matrix.extra_build_options}} + + - name: Build + run: cmake --build ${{env.BUILD_DIR}} --config Release -j + + - name: Run examples + working-directory: ${{env.BUILD_DIR}} + run: ctest --output-on-failure --test-dir examples -C Release + + - name: Run tests + if: matrix.build_tests == 'ON' + working-directory: ${{env.BUILD_DIR}} + run: ctest --output-on-failure --test-dir test -C Release + - name: Print metadata of our dll's if: matrix.os == 'windows-latest' run: | From 6fc641aea42be1febcfc16f369be94a7685fad43 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 11:47:25 +0100 Subject: [PATCH 21/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 34c9a822e..cca7dddaf 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -18,6 +18,7 @@ jobs: env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" + RUNNER_TEMP: /tmp/_runner_temp strategy: matrix: include: From e298464adb8ce3d096eac441775aab05173eba5b Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 13:34:14 +0100 Subject: [PATCH 22/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index cca7dddaf..10e35ea1e 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest container: image: rbanka974/umf-ubuntu-20.04:latest + options: --user root env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" From eef0189c865575fac5b236b82c6e8bc53dede4f9 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 13:49:21 +0100 Subject: [PATCH 23/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 10e35ea1e..3e8d4cc5f 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest container: image: rbanka974/umf-ubuntu-20.04:latest - options: --user root + options: --user root --privileged env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" From 6246020048946e1b5dc3791ef135909ac92c02b0 Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 14:02:04 +0100 Subject: [PATCH 24/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 3e8d4cc5f..23da097c4 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -19,7 +19,6 @@ jobs: env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" - RUNNER_TEMP: /tmp/_runner_temp strategy: matrix: include: From 75afc7b64ea216a45207fb8e66457a8fccdb57ff Mon Sep 17 00:00:00 2001 From: rbanka1 Date: Tue, 28 Jan 2025 14:21:35 +0100 Subject: [PATCH 25/25] dockerHub test L&Win --- .github/workflows/reusable_fast.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 23da097c4..03b3953ba 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -16,6 +16,8 @@ jobs: container: image: rbanka974/umf-ubuntu-20.04:latest options: --user root --privileged + volumes: + - /home/runner/work/unified-memory-framework/unified-memory-framework:/home/runner/work/unified-memory-framework/unified-memory-framework env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" @@ -96,6 +98,9 @@ jobs: - name: Build run: cmake --build ${{env.BUILD_DIR}} --config Release -j + - name: Create build directory + run: mkdir -p ${{env.BUILD_DIR}} + - name: Run examples working-directory: ${{env.BUILD_DIR}} run: ctest --output-on-failure --test-dir examples -C Release