forked from NVIDIA/open-gpu-kernel-modules
-
Notifications
You must be signed in to change notification settings - Fork 95
51 lines (48 loc) · 1.92 KB
/
build.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
name: Build
on:
push:
permissions:
contents: write
jobs:
build-deb:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get install -y build-essential dpkg-dev
- name: Download source deb
run: |
branch=$(echo $GITHUB_REF | cut -d'/' -f3)
branch=${branch/-p2p/}
# download source deb
curl -o source.deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/nvidia-kernel-source-550-open_${branch}-0ubuntu1_amd64.deb
- name: Extract source deb
run: dpkg-deb -R source.deb source-deb
- name: Build kernel module
run: |
make modules -j$(nproc)
- name: Replace kernel module source
run: |
branch=$(echo $GITHUB_REF | cut -d'/' -f3)
branch=${branch/-p2p/}
cp kernel-open/nvidia/nv-pci.c source-deb/usr/src/nvidia-${branch}/nvidia/nv-pci.c
- name: Replace kernel module
run: |
branch=$(echo $GITHUB_REF | cut -d'/' -f3)
branch=${branch/-p2p/}
cp src/nvidia/_out/Linux_x86_64/nv-kernel.o source-deb/usr/src/nvidia-${branch}/nvidia/nv-kernel.o_binary
cp src/nvidia-modeset/_out/Linux_x86_64/nv-modeset-kernel.o source-deb/usr/src/nvidia-${branch}/nvidia-modeset/nv-modeset-kernel.o_binary
- name: Repack deb
run: dpkg-deb -b source-deb nvidia-kernel-source-550-open-0ubuntu1_amd64.deb
- name: Upload deb
uses: actions/upload-artifact@v4
with:
name: nvidia-kernel-source-550-open-0ubuntu1_amd64.deb
path: nvidia-kernel-source-550-open-0ubuntu1_amd64.deb
- name: Create release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: nvidia-kernel-source-550-open-0ubuntu1_amd64.deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}