forked from armbian/build
-
Notifications
You must be signed in to change notification settings - Fork 0
169 lines (154 loc) · 4.64 KB
/
end-user1.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
name: "Build images XXX"
on:
workflow_dispatch:
inputs:
skipImages:
description: 'Skip building images? no = build images, yes = skip images'
required: true
options: [ 'yes', 'no' ]
type: choice
default: 'no'
branch:
type: choice
description: 'Framework build branch'
options:
# branches
- main
- v23.11
default: 'main'
board:
type: choice
description: 'Board'
options:
# boards
- bananapicm4io
- bananapim2pro
- bananapim2s
- bananapim5
- bigtreetech-cb1
- jethubj100
- jethubj80
- khadas-edge2
- khadas-vim1
- khadas-vim1s
- khadas-vim2
- khadas-vim3
- khadas-vim3l
- khadas-vim4
- lafrite
- lepotato
- nanopi-r4s
- nanopi-r6s
- nanopiduo
- nanopiduo2
- odroidc2
- odroidm1
- odroidn2
- odroidxu4
- olimex-teres-a64
- onecloud
- orangepi-r1
- orangepi-r1plus-lts
- orangepi4-lts
- orangepi5-plus
- orangepi5
- orangepione
- orangepiprime
- orangepizero
- orangepizero2
- orangepizeroplus
- pine64
- pinebook-pro
- radxa-zero
- renegade
- rock-3a
- rock-5b
- rockpi-4a
- rockpi-e
- rockpro64
- rpi4b
- rpi5b
- sk-am62b
- sk-am64b
- sk-tda4vm
- tinkerboard
- tritium-h3
- tritium-h5
- uefi-arm64
- uefi-x86
- xiaomi-elish
- all
default: 'all'
targetsFilterInclude:
description: 'TARGETS_FILTER_INCLUDE, example: "BOARD:odroidhc4,BOARD:odroidn2"'
required: false
default: ''
type: string
nightlybuild:
description: 'yes = nighlty, no = stable'
required: false
options: [ 'yes', 'no' ]
type: choice
default: 'no'
uploadtoserver:
description: 'CDN upload github = releases, armbian = rsync.armbian.com'
required: false
options: [ 'github', 'armbian', 'both' ]
type: choice
default: 'armbian'
versionOverride:
description: 'Version override. Leave empty for automatic bump'
required: false
default: ''
build_runner:
description: 'GH runner'
required: false
default: 'ubuntu-latest'
env:
# For easier reuse across the multiple chunks ('armbian/build' repo)
BUILD_REPOSITORY: "armbian/build"
BUILD_REF: "${{ inputs.ref || inputs.branch || 'main' }}" # branch or tag or sha1
# For easier reuse across the multiple chunks ('armbian/os' repo)
USERPATCHES_REPOSITORY: "armbian/os"
USERPATCHES_REF: "main" # branch or tag or sha1
USERPATCHES_DIR: "userpatches" # folder inside USERPATCHES_REPOSITORY
# Github repository for releases. Normally its the one where we executing script
RELEASE_REPOSITORY: "os"
# Armbian envs. Adjust to your needs
# This makes builds faster, but only if the Docker images are up-to-date with all dependencies, Python, tools, etc. Otherwise it makes it... slower.
DOCKER_SKIP_UPDATE: "yes" # Do not apt update/install/requirements/etc during Dockerfile build, trust that images are up-to-date.
# Added to every build, even the prepare job.
EXTRA_PARAMS_ALL_BUILDS: "${{ inputs.extraParamsAllBuilds || 'UPLOAD_TO_OCI_ONLY=yes' }}"
VERSION_OVERRIDE: "${{ github.event.inputs.versionOverride }}"
# To use GitHub CLI in a GitHub Actions workflow
GH_TOKEN: "${{ secrets.ACCESS_TOKEN }}"
# Added to every image build arguments.
EXTRA_PARAMS_IMAGE: "COMPRESS_OUTPUTIMAGE=xz,sha SHOW_DEBIAN=yes SHARE_LOG=yes "
# To ensure that only a single workflow using the same concurrency group will run at a time
concurrency:
group: ${{ github.run_id }}-standard-supportstable
cancel-in-progress: false
jobs:
build:
runs-on: ${{ inputs.BUILD_RUNNER }}
steps:
- name: Update
if: inputs.BUILD_RUNNER == 'ubuntu-latest'
run: |
sudo apt update
sudo apt -y clean
- name: Free Github Runner
if: inputs.BUILD_RUNNER == 'ubuntu-latest'
uses: descriptinc/free-disk-space@main
with:
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Compile the kernel
uses: igorpecovnik/build@main
with:
build_target: kernel
kernel_source: ${{ inputs.kernel_source }}