Skip to content

Commit 984c571

Browse files
Maxim-Doroninrayngun
authored andcommitted
Linux precommit (#88)
1 parent a792c80 commit 984c571

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

.github/workflows/linux-precommit.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: "Linux precommit"
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches: [ "npu/release/18.x" ]
9+
pull_request:
10+
branches: [ "npu/release/18.x" ]
11+
workflow_dispatch:
12+
branches: [ "npu/release/18.x" ]
13+
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
17+
18+
19+
jobs:
20+
Build:
21+
name: Build and Test
22+
runs-on: ubuntu-latest
23+
defaults:
24+
run:
25+
shell: bash
26+
env:
27+
CMAKE_BUILD_TYPE: 'Release'
28+
LLVM_ENABLE_ASSERTIONS: 'ON'
29+
NPU_PLUGIN_LLVM_PROJECT: llvm
30+
NPU_PLUGIN_LLVM_PROJECT_BUILD_DIR: llvm/build
31+
NPU_PLUGIN_LLVM_PROJECT_INSTALL_DIR: llvm/install
32+
steps:
33+
- name: Clone NPU Plugin LLVM sources
34+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
35+
with:
36+
submodules: 'true'
37+
- name: Print system info
38+
run: |
39+
# Install pre-requisites for Fedora
40+
if [[ -e /etc/fedora-release ]]; then
41+
yum update -y -q && yum install -y -q procps
42+
fi
43+
echo "System: ${{ runner.os }}"
44+
echo "System Architecture: ${{ runner.arch }}"
45+
echo "CPU Info: "; lscpu
46+
echo "RAM Info: "; free -h --si
47+
echo "MEMORY Info: "; df -h
48+
49+
- name: Configure CMake
50+
run: |
51+
cmake \
52+
-B ${NPU_PLUGIN_LLVM_PROJECT_BUILD_DIR} \
53+
-S ${NPU_PLUGIN_LLVM_PROJECT} \
54+
-DCMAKE_INSTALL_PREFIX=${NPU_PLUGIN_LLVM_PROJECT_INSTALL_DIR} \
55+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
56+
-DLLVM_ENABLE_WARNINGS=OFF \
57+
-DLLVM_ENABLE_BINDINGS=OFF \
58+
-DLLVM_ENABLE_RTTI=ON \
59+
-DLLVM_ENABLE_EH=ON \
60+
-DLLVM_ENABLE_BACKTRACES=OFF \
61+
-DLLVM_ENABLE_CRASH_OVERRIDES=OFF \
62+
-DLLVM_ENABLE_PROJECTS="mlir" \
63+
-DLLVM_ENABLE_ASSERTIONS=${LLVM_ENABLE_ASSERTIONS} \
64+
-DLLVM_INCLUDE_TESTS=ON \
65+
-DLLVM_INCLUDE_BENCHMARKS=OFF \
66+
-DLLVM_TARGETS_TO_BUILD="host" \
67+
-DLLVM_ENABLE_TERMINFO=OFF \
68+
-DLLVM_BUILD_EXAMPLES=OFF \
69+
-DLLVM_INCLUDE_EXAMPLES=OFF \
70+
-DLLVM_BUILD_TOOLS=OFF \
71+
-DLLVM_BUILD_UTILS=ON \
72+
-DLLVM_INSTALL_UTILS=ON \
73+
74+
- name: Build
75+
run: |
76+
cmake \
77+
--build ${NPU_PLUGIN_LLVM_PROJECT_BUILD_DIR} \
78+
--config ${CMAKE_BUILD_TYPE} \
79+
--parallel $(nproc)
80+
81+
- name: Test LLVM
82+
run: |
83+
cmake \
84+
--build ${NPU_PLUGIN_LLVM_PROJECT_BUILD_DIR} \
85+
--config ${CMAKE_BUILD_TYPE} \
86+
--parallel $(nproc) \
87+
--target check-llvm
88+
89+
- name: Test MLIR
90+
run: |
91+
cmake \
92+
--build ${NPU_PLUGIN_LLVM_PROJECT_BUILD_DIR} \
93+
--config ${CMAKE_BUILD_TYPE} \
94+
--parallel $(nproc) \
95+
--target check-mlir

0 commit comments

Comments
 (0)