-
Notifications
You must be signed in to change notification settings - Fork 1
115 lines (101 loc) · 3.42 KB
/
build-armbian.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
name: Build Airwaves OS (Armbian base)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
inputs:
set_branch:
description: "Branch: edge / current / legacy"
required: false
default: "current"
set_release:
description: "Release: jammy / focal / bullseye"
required: false
default: "jammy"
set_board:
description: "Board: odroidn2 / lepotato"
required: false
default: "rockpi-4b"
set_desktop:
description: "Build Desktop: no / gnome / xfce, etc."
required: false
default: "no"
armbian_kernel:
description: "Set kernel version."
required: false
default: "5.15.25_5.10.100"
armbian_size:
description: "Set armbian rootfs size."
required: false
default: "2748"
armbian_fstype:
description: "Set armbian rootfs type."
required: false
default: "ext4"
armbian_sign:
description: "Set armbian custom name."
required: false
default: ""
env:
BUILD_MINIMAL: no
KERNEL_CONFIGURE: no
BUILD_DESKTOP: no
HOST: aros
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout airwaves-os
uses: actions/checkout@v3
with:
path: airwaves-os
- name: Checkout armbian
uses: actions/checkout@v3
with:
repository: armbian/build
path: build
clean: no
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
#sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
#sudo -E apt-get -qq update
#sudo -E apt-get -qq autoremove --purge
#sudo -E apt-get -qq clean
set_board="${{ github.event.inputs.set_board }}"
if [[ -z "${set_board}" ]]; then
set_board="rockpi-4b"
fi
echo "BOARD=${set_board}" >> $GITHUB_ENV
set_branch="${{ github.event.inputs.set_branch }}"
if [[ -z "${set_branch}" ]]; then
set_branch="current"
fi
echo "BRANCH=${set_branch}" >> $GITHUB_ENV
set_release="${{ github.event.inputs.set_release }}"
if [[ -z "${set_release}" ]]; then
set_release="jammy"
fi
echo "RELEASE=${set_release}" >> $GITHUB_ENV
- name: Patch source with customizations
run: |
mkdir -p ${GITHUB_WORKSPACE}/build/output/
mkdir -p ${GITHUB_WORKSPACE}/build/userpatches/extensions/
cp -ar ${GITHUB_WORKSPACE}/airwaves-os/armbian/extensions/* ${GITHUB_WORKSPACE}/build/userpatches/extensions/
cp -ar ${GITHUB_WORKSPACE}/airwaves-os/armbian/base/*.conf ${GITHUB_WORKSPACE}/build/userpatches/
- name: Compile Armbian
id: build
run: |
cd ${GITHUB_WORKSPACE}/build/
chmod +x compile.sh
./compile.sh COMPRESS_OUTPUTIMAGE=xz PREFER_DOCKER=yes BUILD_MINIMAL=$BUILD_MINIMAL BOARD=${{ env.BOARD }} BRANCH=${{ env.BRANCH }} RELEASE=${{ env.RELEASE }} BUILD_DESKTOP=$BUILD_DESKTOP HOST=$HOST airwaves-os
echo "::set-output name=status::success"
- name: Upload Armbian image
uses: actions/upload-artifact@master
if: steps.build.outputs.status == 'success'
with:
name: airwaves_OS_${{ env.BOARD }}
path: "${{ job.build.output.armbian_image_version }}.img.xz"
if-no-files-found: error