-
-
Notifications
You must be signed in to change notification settings - Fork 275
76 lines (64 loc) · 2.2 KB
/
build-mainline.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
name: Build Mainline
run-name: Build with mainline Linux 6.5.0
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
platform:
- orangepi-5
- orangepi-5b
- orangepi-5-plus
- rock-5b
- rock-5a
- radxa-cm5-io
- nanopc-t6
- nanopi-r6c
- nanopi-r6s
- indiedroid-nova
- mixtile-blade3
steps:
- name: Get more disk space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 2048
swap-size-mb: 1024
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- name: Checkout code
uses: actions/checkout@v4
- name: Checkout LFS
shell: bash
run: git lfs fetch && git lfs checkout
- name: Install dependencies
shell: bash
run: |
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y build-essential gcc-aarch64-linux-gnu bison \
qemu-user-static qemu-system-arm qemu-efi u-boot-tools binfmt-support \
debootstrap flex libssl-dev bc rsync kmod cpio xz-utils fakeroot parted \
udev dosfstools uuid-runtime git-lfs device-tree-compiler python2 python3 \
python-is-python3 fdisk bc debhelper
- name: Build kernel
shell: bash
run: sudo ./build.sh -b ${{ matrix.platform }} --mainline --kernel-only
- name: Build u-boot
shell: bash
run: sudo ./build.sh -b ${{ matrix.platform }} --mainline --uboot-only
- name: Build image
shell: bash
run: sudo ./build.sh --board ${{ matrix.platform }} --mainline --server-only
- name: Upload server image
uses: actions/upload-artifact@v3
with:
name: ubuntu-22.04.3-preinstalled-server-arm64-${{ matrix.platform }}-mainline
path: ./images/ubuntu-22.04.3-preinstalled-server-arm64-${{ matrix.platform }}.*
if-no-files-found: error
- name: Clean cache
shell: bash
run: sync && sudo rm -rf ./images/ ./build/ && sync