1
- # Checks required for a PR to merge. This workflow mostly call other workflows.
1
+ # Run checks required for a PR to merge and verify if post-merge commit is valid.
2
+ # This workflow only call other workflows.
2
3
name : PR/push
3
4
4
5
on :
@@ -16,100 +17,43 @@ permissions:
16
17
17
18
jobs :
18
19
CodeStyle :
19
- name : Coding style
20
- runs-on : ${{ github.repository_owner == 'oneapi-src' && 'intel-ubuntu-22.04' || 'ubuntu-latest' }}
21
-
22
- steps :
23
- - name : Checkout repository
24
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
25
- with :
26
- fetch-depth : 0
27
-
28
- - name : Install apt packages
29
- run : |
30
- sudo apt-get update
31
- sudo apt-get install -y black cmake clang-format-15 cmake-format libhwloc-dev
32
-
33
- - name : Configure CMake
34
- run : >
35
- cmake
36
- -B ${{github.workspace}}/build
37
- -DUMF_FORMAT_CODE_STYLE=ON
38
- -DUMF_BUILD_TESTS=OFF
39
- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
40
- -DUMF_BUILD_CUDA_PROVIDER=OFF
41
- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
42
-
43
- - name : Check C/C++ formatting
44
- run : cmake --build build --target clang-format-check
45
-
46
- - name : Check CMake formatting
47
- run : |
48
- cmake --build build --target cmake-format-apply
49
- git diff --exit-code
50
-
51
- - name : Check Python formatting
52
- run : cmake --build build --target black-format-check
53
-
20
+ uses : ./.github/workflows/reusable_code_style.yml
54
21
DocsBuild :
55
- name : Build docs
56
- runs-on : ${{ github.repository_owner == 'oneapi-src' && 'intel-ubuntu-22.04' || 'ubuntu-latest' }}
57
-
58
- steps :
59
- - name : Checkout repository
60
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
61
- with :
62
- fetch-depth : 0
63
-
64
- - name : Install doxygen
65
- run : |
66
- sudo apt-get update
67
- sudo apt-get install -y doxygen
68
-
69
- - name : Install pip requirements
70
- run : python3 -m pip install -r third_party/requirements.txt
71
-
72
- - name : Setup PATH for python
73
- run : echo "$HOME/.local/bin" >> $GITHUB_PATH
74
-
75
- - name : Build the documentation
76
- working-directory : scripts
77
- run : python3 generate_docs.py
78
-
22
+ uses : ./.github/workflows/reusable_docs_build.yml
79
23
Spellcheck :
80
- uses : ./.github/workflows/spellcheck .yml
24
+ uses : ./.github/workflows/reusable_spellcheck .yml
81
25
FastBuild :
82
26
name : Fast builds
83
27
needs : [Spellcheck, CodeStyle]
84
- uses : ./.github/workflows/fast .yml
28
+ uses : ./.github/workflows/reusable_fast .yml
85
29
Build :
86
30
name : Basic builds
87
31
needs : [FastBuild]
88
- uses : ./.github/workflows/basic .yml
32
+ uses : ./.github/workflows/reusable_basic .yml
89
33
DevDax :
90
34
needs : [FastBuild]
91
- uses : ./.github/workflows/dax .yml
35
+ uses : ./.github/workflows/reusable_dax .yml
92
36
Sanitizers :
93
37
needs : [FastBuild]
94
- uses : ./.github/workflows/sanitizers .yml
38
+ uses : ./.github/workflows/reusable_sanitizers .yml
95
39
Qemu :
96
40
needs : [FastBuild]
97
- uses : ./.github/workflows/qemu .yml
41
+ uses : ./.github/workflows/reusable_qemu .yml
98
42
Benchmarks :
99
43
needs : [Build]
100
- uses : ./.github/workflows/benchmarks .yml
44
+ uses : ./.github/workflows/reusable_benchmarks .yml
101
45
ProxyLib :
102
46
needs : [Build]
103
- uses : ./.github/workflows/proxy_lib .yml
47
+ uses : ./.github/workflows/reusable_proxy_lib .yml
104
48
GPU :
105
49
needs : [Build]
106
- uses : ./.github/workflows/gpu .yml
50
+ uses : ./.github/workflows/reusable_gpu .yml
107
51
Valgrind :
108
52
needs : [Build]
109
- uses : ./.github/workflows/valgrind .yml
53
+ uses : ./.github/workflows/reusable_valgrind .yml
110
54
MultiNuma :
111
55
needs : [Build]
112
- uses : ./.github/workflows/multi_numa .yml
56
+ uses : ./.github/workflows/reusable_multi_numa .yml
113
57
Coverage :
114
58
needs : [Build, DevDax, GPU, MultiNuma, Qemu, ProxyLib]
115
- uses : ./.github/workflows/coverage .yml
59
+ uses : ./.github/workflows/reusable_coverage .yml
0 commit comments