Skip to content

Commit 04c642c

Browse files
committed
x
1 parent c5d8062 commit 04c642c

1 file changed

Lines changed: 18 additions & 178 deletions

File tree

.github/workflows/nightly.yml

Lines changed: 18 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -17,97 +17,6 @@ env:
1717
INSTALL_DIR: "${{github.workspace}}/build/install"
1818

1919
jobs:
20-
Fuzzing:
21-
strategy:
22-
fail-fast: false
23-
matrix:
24-
build_type: [Debug, Release]
25-
compiler: [{c: clang, cxx: clang++}]
26-
name: Fuzzing (ubuntu-latest, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}})
27-
runs-on: ubuntu-latest
28-
29-
steps:
30-
- name: Checkout repository
31-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
32-
with:
33-
fetch-depth: 0
34-
35-
- name: Install apt packages
36-
run: |
37-
sudo apt-get update
38-
sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev
39-
40-
- name: Find Clang fuzzer lib
41-
run: |
42-
CLANG_LIBS_DIR=$(find /usr/lib -name "libclang_rt.fuzzer_no_main-x86_64.a" -exec dirname {} \; | head -n 1)
43-
echo "CLANG_LIBS_DIR=${CLANG_LIBS_DIR}" >> $GITHUB_ENV
44-
45-
- name: Configure CMake
46-
run: >
47-
cmake
48-
-B ${{github.workspace}}/build
49-
-DCMAKE_PREFIX_PATH=${{env.CLANG_LIBS_DIR}}
50-
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
51-
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
52-
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
53-
-DUMF_BUILD_SHARED_LIBRARY=ON
54-
-DUMF_TESTS_FAIL_ON_SKIP=ON
55-
-DUMF_DEVELOPER_MODE=ON
56-
-DUMF_BUILD_FUZZTESTS=ON
57-
58-
- name: Build
59-
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --verbose -j$(nproc)
60-
61-
- name: Run regular tests
62-
working-directory: ${{github.workspace}}/build
63-
run: ctest -C ${{matrix.build_type}} --output-on-failure -E "fuzz"
64-
65-
- name: Run regular tests with proxy library
66-
working-directory: ${{env.BUILD_DIR}}
67-
run: LD_PRELOAD=./lib/libumf_proxy.so ctest -C ${{matrix.build_type}} --output-on-failure -E "fuzz"
68-
69-
- name: Fuzz long test
70-
working-directory: ${{github.workspace}}/build
71-
run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long"
72-
73-
Valgrind:
74-
strategy:
75-
fail-fast: false
76-
matrix:
77-
tool: ['memcheck', 'drd', 'helgrind']
78-
name: Valgrind (${{matrix.tool}})
79-
runs-on: ubuntu-latest
80-
81-
steps:
82-
- name: Checkout repository
83-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
84-
with:
85-
fetch-depth: 0
86-
87-
- name: Install apt packages
88-
run: |
89-
sudo apt-get update
90-
sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind
91-
92-
- name: Configure CMake
93-
run: >
94-
cmake
95-
-B ${{github.workspace}}/build
96-
-DCMAKE_BUILD_TYPE=Debug
97-
-DUMF_FORMAT_CODE_STYLE=OFF
98-
-DUMF_DEVELOPER_MODE=OFF
99-
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
100-
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
101-
-DUMF_BUILD_CUDA_PROVIDER=OFF
102-
-DUMF_USE_VALGRIND=1
103-
-DUMF_TESTS_FAIL_ON_SKIP=ON
104-
105-
- name: Build
106-
run: cmake --build ${{github.workspace}}/build --config Debug -j$(nproc)
107-
108-
- name: Run tests under valgrind
109-
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}}
110-
11120
# Build and test UMF with different CMake generators on Windows
11221
Windows-generators:
11322
env:
@@ -344,12 +253,30 @@ jobs:
344253
call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat"
345254
cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j %NUMBER_OF_PROCESSORS%
346255
256+
257+
# call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
258+
# call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat"
259+
# echo PATH before forcing build DLLs first:
260+
# echo %PATH%
261+
# where icx
262+
# where umf.dll || ver > nul
263+
# where jemalloc.dll || ver > nul
264+
# where tbbmalloc.dll || ver > nul
265+
# dumpbin /dependents test\test_memoryProvider.exe
266+
# dumpbin /dependents test\test_pool_null_params.exe
267+
# dumpbin /dependents test\test_memoryPool.exe
268+
# set "PATH=${{env.BUILD_DIR}}\bin;${{env.BUILD_DIR}}\bin\${{matrix.build_type}};${{env.BUILD_DIR}}\src\proxy_lib;${{env.BUILD_DIR}}\src\proxy_lib\${{matrix.build_type}};%PATH%"
269+
# echo PATH after forcing build DLLs first:
270+
# echo %PATH%
271+
# where umf.dll || ver > nul
272+
347273
- name: Run tests
348274
shell: cmd
349275
working-directory: ${{env.BUILD_DIR}}
350276
run: |
351277
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
352278
call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat"
279+
set "PATH=${{env.BUILD_DIR}}\bin;${{env.BUILD_DIR}}\bin\${{matrix.build_type}};${{env.BUILD_DIR}}\src\proxy_lib;${{env.BUILD_DIR}}\src\proxy_lib\${{matrix.build_type}};%PATH%"
353280
ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
354281
355282
- name: Prepare vcpkg cache
@@ -463,90 +390,3 @@ jobs:
463390
working-directory: ${{env.BUILD_DIR}}
464391
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
465392

466-
L0:
467-
uses: ./.github/workflows/reusable_gpu.yml
468-
with:
469-
provider: "LEVEL_ZERO"
470-
runner: "L0"
471-
L0-BMG:
472-
uses: ./.github/workflows/reusable_gpu.yml
473-
with:
474-
provider: "LEVEL_ZERO"
475-
runner: "L0-BMG"
476-
CUDA:
477-
uses: ./.github/workflows/reusable_gpu.yml
478-
with:
479-
provider: "CUDA"
480-
runner: "CUDA"
481-
482-
# Full execution of QEMU tests
483-
QEMU:
484-
uses: ./.github/workflows/reusable_qemu.yml
485-
with:
486-
short_run: false
487-
# Beside the 2 LTS Ubuntu, we also test this on the latest Ubuntu - to be updated
488-
# every 6 months, so we verify the latest version of packages (compilers, etc.).
489-
os: "['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-25.04']"
490-
491-
Benchmarks:
492-
uses: ./.github/workflows/reusable_benchmarks.yml
493-
permissions:
494-
contents: write
495-
pull-requests: write
496-
with:
497-
pr_no: '0'
498-
bench_script_params: >
499-
--save Baseline_PVC
500-
--filter umf-benchmark
501-
502-
# Run benchmarks with the latest SYCL (with the latest UMF copied into the SYCL)
503-
# to verify the compatibility.
504-
#
505-
# TODO: re-enable this job, when nightly sycl builds are again available;
506-
# the last one available (as of 24.07.2025) is not working properly with
507-
# compute benchmarks. Now, we could only build sycl from sources, or find a
508-
# matching version of compute benchmarks with last nightly package.
509-
Benchmarks-sycl:
510-
if: false
511-
uses: ./.github/workflows/reusable_benchmarks.yml
512-
permissions:
513-
contents: write
514-
pull-requests: write
515-
with:
516-
pr_no: '0'
517-
bench_script_params: >-
518-
--adapter level_zero_v2
519-
--compute-runtime
520-
--build-igc
521-
--preset Minimal
522-
--exit-on-failure
523-
runner: 'L0_PERF_ARC'
524-
compatibility: '1'
525-
526-
SYCL:
527-
uses: ./.github/workflows/reusable_sycl.yml
528-
529-
alpine:
530-
name: Alpine
531-
env:
532-
HOST_WORKDIR: ${{github.workspace}}
533-
WORKDIR: /unified-memory-framework
534-
strategy:
535-
matrix:
536-
build_type: [Debug, Release]
537-
runs-on: ubuntu-latest
538-
539-
steps:
540-
- name: Checkout repository
541-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
542-
with:
543-
fetch-depth: 0
544-
545-
- name: Build Alpine image
546-
run: |
547-
docker build . -f .github/docker/alpine-3.21.Dockerfile -t umf-alpine-3.21
548-
549-
- name: Run UMF build on Alpine image
550-
run: |
551-
docker run --rm -i -v $HOST_WORKDIR:$WORKDIR \
552-
umf-alpine-3.21 $WORKDIR/.github/scripts/alpine_build.sh ${{matrix.build_type}} $WORKDIR

0 commit comments

Comments
 (0)