-
Notifications
You must be signed in to change notification settings - Fork 21
131 lines (113 loc) · 4.49 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
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
name: Buildroot
on:
push:
pull_request:
workflow_call:
inputs:
submodule:
description: The directory of the submodule, if this workflow is being called on a submodule
required: true
type: string
jobs:
build-image-uclibc:
runs-on: ubuntu-22.04
env:
FORCE_UNSAFE_CONFIGURE: 1
steps:
- uses: actions/checkout@v3
- if: inputs.submodule
run: git submodule update --init --depth 1 -- ${{ inputs.submodule }}
- name: retrieve ccache
uses: actions/cache@v3
with:
path: ~/.buildroot-ccache
key: ${{ inputs.submodule }}-uclibc-ccache-${{ github.sha }}
restore-keys: |
${{ inputs.submodule }}-uclibc-ccache-
- name: generate cfw hash
run: |
git config --global --add safe.directory /__w/buildroot/buildroot
echo "cfwsha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
id: cfwsha
- name: build
run: |
cd ${{ inputs.submodule || '.' }}
#apt update && apt install -y wget unzip build-essential git bc swig libncurses-dev libpython3-dev libssl-dev cpio rsync subversion
make miyoo_uclibc_defconfig
make sdk CFW_HASH="${{ steps.cfwsha.outputs.cfwsha }}"
- name: generate-graphs
run: |
cd ${{ inputs.submodule || '.' }}
sudo apt update && sudo apt install -y python3-matplotlib python3-numpy
make graph-build
- uses: actions/upload-artifact@v3
with:
name: build image (uClibc)
path: ${{ inputs.submodule || '.' }}/output/images/miyoo-cfw-*.img
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: SDK (uClibc)
path: ${{ inputs.submodule || '.' }}/output/images/arm-miyoo-linux-uclibcgnueabi_sdk-buildroot.tar.gz
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: build-graphs (uClibc)
path: ${{ inputs.submodule || '.' }}/output/graphs/
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: rootfs (uClibc)
path: ${{ inputs.submodule || '.' }}/output/images/rootfs.ext4
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
build-image-musl:
runs-on: ubuntu-22.04
env:
FORCE_UNSAFE_CONFIGURE: 1
steps:
- uses: actions/checkout@v3
- if: inputs.submodule
run: git submodule update --init --depth 1 -- ${{ inputs.submodule }}
- name: retrieve ccache
uses: actions/cache@v3
with:
path: ~/.buildroot-ccache
key: ${{ inputs.submodule }}-musl-ccache-${{ github.sha }}
restore-keys: |
${{ inputs.submodule }}-musl-ccache-
- name: generate cfw hash
run: |
git config --global --add safe.directory /__w/buildroot/buildroot
echo "cfwsha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
id: cfwsha
- name: build
run: |
cd ${{ inputs.submodule || '.' }}
#apt update && apt install -y wget unzip build-essential git bc swig libncurses-dev libpython3-dev libssl-dev cpio rsync subversion
make miyoo_musl_defconfig
make sdk CFW_HASH="${{ steps.cfwsha.outputs.cfwsha }}"
- name: generate-graphs
run: |
cd ${{ inputs.submodule || '.' }}
sudo apt update && sudo apt install -y python3-matplotlib python3-numpy
make graph-build
- uses: actions/upload-artifact@v3
with:
name: build image (musl)
path: ${{ inputs.submodule || '.' }}/output/images/miyoo-cfw-*.img
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: SDK (musl)
path: ${{ inputs.submodule || '.' }}/output/images/arm-miyoo-linux-musleabi_sdk-buildroot.tar.gz
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: build-graphs (musl)
path: ${{ inputs.submodule || '.' }}/output/graphs/
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`
- uses: actions/upload-artifact@v3
with:
name: rootfs (musl)
path: ${{ inputs.submodule || '.' }}/output/images/rootfs.ext4
if-no-files-found: error # 'error', 'warn', 'ignore'; defaults to `warn`