Skip to content

Commit 3a8622a

Browse files
committed
Add devdax CI workflow
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent dead24b commit 3a8622a

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

.github/workflows/devdax.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# This workflow builds and tests the devdax memory provider.
2+
# It requires a DAX device (e.g. /dev/dax0.0) configured in the OS.
3+
# This DAX device should be specified using DEVDAX_PATH and DEVDAX_SIZE
4+
# CI environment variables.
5+
6+
name: DevDax
7+
8+
on: [workflow_call]
9+
10+
permissions:
11+
contents: read
12+
13+
env:
14+
DEVDAX_PATH : "/dev/dax0.0"
15+
DEVDAX_SIZE : 1054867456
16+
BUILD_DIR : "${{github.workspace}}/build"
17+
INSTL_DIR : "${{github.workspace}}/../install-dir"
18+
19+
jobs:
20+
devdax:
21+
name: Build
22+
# run only on upstream; forks may not have a DAX device
23+
if: github.repository == 'oneapi-src/unified-memory-framework'
24+
strategy:
25+
matrix:
26+
os: ['Ubuntu']
27+
build_type: [Debug, Release]
28+
shared_library: ['ON', 'OFF']
29+
compiler: [{c: gcc, cxx: g++}]
30+
31+
runs-on: ["DSS-DEVDAX", "DSS-${{matrix.os}}"]
32+
steps:
33+
- name: Check if the devdax exists
34+
run: |
35+
ndctl list -N --device-dax || true
36+
ls -al ${{env.DEVDAX_PATH}}
37+
38+
- name: Checkout
39+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
40+
with:
41+
fetch-depth: 0
42+
43+
- name: Configure build
44+
run: >
45+
cmake
46+
-B ${{env.BUILD_DIR}}
47+
-DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
48+
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
49+
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
50+
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
51+
-DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
52+
-DUMF_BUILD_BENCHMARKS=OFF
53+
-DUMF_BUILD_TESTS=ON
54+
-DUMF_BUILD_GPU_TESTS=OFF
55+
-DUMF_BUILD_GPU_EXAMPLES=OFF
56+
-DUMF_FORMAT_CODE_STYLE=OFF
57+
-DUMF_DEVELOPER_MODE=ON
58+
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
59+
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
60+
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
61+
-DUMF_TESTS_FAIL_ON_SKIP=ON
62+
-DUMF_TESTS_DEVDAX_PATH=${{env.DEVDAX_PATH}}
63+
-DUMF_TESTS_DEVDAX_SIZE=${{env.DEVDAX_SIZE}}
64+
65+
- name: Build UMF
66+
run: cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $(nproc)
67+
68+
- name: Run only devdax tests
69+
working-directory: ${{env.BUILD_DIR}}
70+
run: ctest -C ${{matrix.build_type}} -R devdax -V

.github/workflows/pr_push.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ jobs:
8585
name: Basic builds
8686
needs: [FastBuild]
8787
uses: ./.github/workflows/basic.yml
88+
DevDax:
89+
needs: [FastBuild]
90+
uses: ./.github/workflows/devdax.yml
8891
Sanitizers:
8992
needs: [FastBuild]
9093
uses: ./.github/workflows/sanitizers.yml

0 commit comments

Comments
 (0)