Skip to content

Commit cd492b0

Browse files
theihoranakryiko
authored andcommitted
Add vmlinux.h Github Actions workflow
Define a workflow job that uses ./scripts to generate vmlinux.h from the latest Linux mainline release for various architectures. Kernel build and vmlinux.h generation execute in a separate step for each target architecture, while common dependencies are installed at the beginning. Signed-off-by: Ihor Solodrai <[email protected]>
1 parent 0c6d37d commit cd492b0

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/vmlinux.h.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: vmlinux.h
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
workflow_dispatch:
9+
10+
jobs:
11+
gen-headers:
12+
name: Generate vmlinux.h
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
17+
- uses: actions/checkout@v4
18+
19+
- name: Download Linux source
20+
shell: bash
21+
run: ./scripts/download-latest-linux-release.sh
22+
23+
- name: Install dependencies
24+
shell: bash
25+
run: |
26+
./scripts/install-dependencies.sh
27+
./scripts/install-pahole.sh
28+
./scripts/install-bpftool.sh
29+
30+
- name: x86_64/vmlinux.h
31+
shell: bash
32+
run: ./scripts/gen-vmlinux-header.sh x86_64
33+
34+
- name: aarch64/vmlinux.h
35+
shell: bash
36+
run: ./scripts/gen-vmlinux-header.sh aarch64
37+
38+
- name: arm/vmlinux.h
39+
shell: bash
40+
run: ./scripts/gen-vmlinux-header.sh arm
41+
42+
- name: loongarch64/vmlinux.h
43+
shell: bash
44+
run: ./scripts/gen-vmlinux-header.sh loongarch64
45+
46+
- name: ppc64le/vmlinux.h
47+
shell: bash
48+
run: ./scripts/gen-vmlinux-header.sh ppc64le
49+
50+
- name: riscv64/vmlinux.h
51+
shell: bash
52+
run: ./scripts/gen-vmlinux-header.sh riscv64
53+
54+
- name: s390x/vmlinux.h
55+
shell: bash
56+
run: ./scripts/gen-vmlinux-header.sh s390x
57+
58+
- name: Upload headers
59+
uses: actions/upload-artifact@v4
60+
with:
61+
name: vmlinux.h
62+
if-no-files-found: error
63+
path: ./vmlinux.h

0 commit comments

Comments
 (0)