2
2
name : Nightly
3
3
4
4
# This job is run at 00:00 UTC every day or on demand.
5
- on :
6
- workflow_dispatch :
7
- schedule :
8
- - cron : ' 0 0 * * *'
5
+ on : workflow_call
6
+ # workflow_dispatch:
7
+ # schedule:
8
+ # - cron: '0 0 * * *'
9
9
10
10
permissions :
11
11
contents : read
@@ -27,28 +27,29 @@ jobs:
27
27
with :
28
28
fetch-depth : 0
29
29
30
- - name : Install apt packages
30
+ - name : Build Docker image
31
31
run : |
32
- sudo apt-get update
33
- sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev
32
+ docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 .
34
33
35
- - name : Configure CMake
36
- run : >
37
- cmake
38
- -B ${{github.workspace}}/build
39
- -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
40
- -DCMAKE_C_COMPILER=${{matrix.compiler.c}}
41
- -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
42
- -DUMF_TESTS_FAIL_ON_SKIP=ON
43
- -DUMF_DEVELOPER_MODE=ON
44
- -DUMF_BUILD_FUZZTESTS=ON
45
-
46
- - name : Build
47
- run : cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --verbose -j$(nproc)
48
-
49
- - name : Fuzz long test
50
- working-directory : ${{github.workspace}}/build
51
- run : ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long"
34
+ - name : Fuzz long test in Docker container
35
+ run : |
36
+ docker run --rm \
37
+ -v ${{github.workspace}}:/workspace \
38
+ -w /workspace \
39
+ umf-ubuntu-20.04 \
40
+ bash -c "
41
+ sudo apt-get update &&
42
+ sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev &&
43
+ cmake -B /workspace/build \
44
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
45
+ -DCMAKE_C_COMPILER=${{matrix.compiler.c}} \
46
+ -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} \
47
+ -DUMF_TESTS_FAIL_ON_SKIP=ON \
48
+ -DUMF_DEVELOPER_MODE=ON \
49
+ -DUMF_BUILD_FUZZTESTS=ON &&
50
+ cmake --build /workspace/build --config ${matrix.build_type} --verbose -j$(nproc) &&
51
+ ctest -C ${matrix.build_type} --output-on-failure --verbose -L fuzz-long
52
+ "
52
53
53
54
valgrind :
54
55
name : Valgrind
@@ -64,30 +65,32 @@ jobs:
64
65
with :
65
66
fetch-depth : 0
66
67
67
- - name : Install apt packages
68
+ - name : Build Docker image
68
69
run : |
69
- sudo apt-get update
70
- sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind
70
+ docker build -f .github/docker/ubuntu-20.04.Dockerfile -t umf-ubuntu-20.04 .
71
71
72
- - name : Configure CMake
73
- run : >
74
- cmake
75
- -B ${{github.workspace}}/build
76
- -DCMAKE_BUILD_TYPE=Debug
77
- -DUMF_FORMAT_CODE_STYLE=OFF
78
- -DUMF_DEVELOPER_MODE=ON
79
- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
80
- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
81
- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
82
- -DUMF_BUILD_CUDA_PROVIDER=OFF
83
- -DUMF_USE_VALGRIND=1
84
- -DUMF_TESTS_FAIL_ON_SKIP=ON
85
-
86
- - name : Build
87
- run : cmake --build ${{github.workspace}}/build --config Debug -j$(nproc)
88
-
89
- - name : Run tests under valgrind
90
- run : ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}}
72
+ - name : Run tests under valgrind in Docker
73
+ run : |
74
+ docker run --rm \
75
+ -v ${{github.workspace}}:/workspace \
76
+ -w /workspace \
77
+ umf-ubuntu-20.04 \
78
+ bash -c "\
79
+ sudo apt-get update &&
80
+ sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind &&
81
+ cmake -B /workspace/build \
82
+ -DCMAKE_BUILD_TYPE=Debug \
83
+ -DUMF_FORMAT_CODE_STYLE=OFF \
84
+ -DUMF_DEVELOPER_MODE=ON \
85
+ -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON \
86
+ -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON \
87
+ -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF \
88
+ -DUMF_BUILD_CUDA_PROVIDER=OFF \
89
+ -DUMF_USE_VALGRIND=1 \
90
+ -DUMF_TESTS_FAIL_ON_SKIP=ON &&
91
+ cmake --build /workspace/build --config Debug -j$(nproc) &&
92
+ /workspace/test/test_valgrind.sh /workspace /workspace/build ${matrix.tool}
93
+ "
91
94
92
95
# TODO fix #843
93
96
# icx:
0 commit comments