-
Notifications
You must be signed in to change notification settings - Fork 105
135 lines (112 loc) · 3.83 KB
/
linux-precompiled-bin-workflow.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Build Linux Precompiled Binaries
on:
workflow_dispatch:
workflow_call:
inputs:
isNightly:
type: boolean
required: true
default: false
env:
PIP_BREAK_SYSTEM_PACKAGES: 1
jobs:
build-precompiled-bin-x86_64:
runs-on: kuzu-self-hosted-linux-building-x86_64
steps:
- uses: actions/checkout@v4
- name: Update nightly version
if: ${{ inputs.isNightly == true }}
run: |
/opt/python/cp310-cp310/bin/python -m pip install packaging
/opt/python/cp310-cp310/bin/python update-nightly-build-version.py
working-directory: scripts
- name: Build precompiled binaries
run: |
make NUM_THREADS=$(nproc)
make install
- name: Collect artifacts
run: |
mv install/include/kuzu.h .
mv install/include/kuzu.hpp .
mv install/lib64/libkuzu.so .
mv install/bin/kuzu .
- name: Create tarball
run: |
tar -czvf libkuzu-linux-x86_64.tar.gz kuzu.h kuzu.hpp libkuzu.so
tar -czvf kuzu_cli-linux-x86_64.tar.gz kuzu
- uses: actions/upload-artifact@v4
with:
name: libkuzu-linux-x86_64
path: libkuzu-linux-x86_64.tar.gz
- uses: actions/upload-artifact@v4
with:
name: kuzu_cli-linux-x86_64
path: kuzu_cli-linux-x86_64.tar.gz
build-precompiled-bin-aarch64:
runs-on: kuzu-self-hosted-linux-building-aarch64
steps:
- uses: actions/checkout@v4
- name: Update nightly version
if: ${{ inputs.isNightly == true }}
run: |
/opt/python/cp310-cp310/bin/python -m pip install packaging
/opt/python/cp310-cp310/bin/python update-nightly-build-version.py
working-directory: scripts
- name: Build precompiled binaries
run: |
make NUM_THREADS=$(nproc)
make install
- name: Collect artifacts
run: |
mv install/include/kuzu.h .
mv install/include/kuzu.hpp .
mv install/lib64/libkuzu.so .
mv install/bin/kuzu .
- name: Create tarball
run: |
tar -czvf libkuzu-linux-aarch64.tar.gz kuzu.h kuzu.hpp libkuzu.so
tar -czvf kuzu_cli-linux-aarch64.tar.gz kuzu
- uses: actions/upload-artifact@v4
with:
name: libkuzu-linux-aarch64
path: libkuzu-linux-aarch64.tar.gz
- uses: actions/upload-artifact@v4
with:
name: kuzu_cli-linux-aarch64
path: kuzu_cli-linux-aarch64.tar.gz
build-precompiled-bin-android-armv8a:
runs-on: kuzu-self-hosted-testing
steps:
- uses: actions/checkout@v4
- name: Update nightly version
if: ${{ inputs.isNightly == true }}
run: |
python3 -m pip install packaging
python3 update-nightly-build-version.py
working-directory: scripts
- name: Build precompiled binaries
run: |
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a ..
make -j$(nproc)
cd ..
cmake --install build --prefix install
- name: Collect artifacts
run: |
mv install/include/kuzu.h .
mv install/include/kuzu.hpp .
mv install/lib/libkuzu.so .
mv install/bin/kuzu .
- name: Create tarball
run: |
tar -czvf libkuzu-android-armv8a.tar.gz kuzu.h kuzu.hpp libkuzu.so
tar -czvf kuzu_cli-android-armv8a.tar.gz kuzu
- uses: actions/upload-artifact@v4
with:
name: libkuzu-android-armv8a
path: libkuzu-android-armv8a.tar.gz
- uses: actions/upload-artifact@v4
with:
name: kuzu_cli-android-armv8a
path: kuzu_cli-android-armv8a.tar.gz