forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 0
160 lines (147 loc) · 6.75 KB
/
build-openwrt.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
name: Build OpenWRT in Github owned Actions
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up environment
run: |
sudo apt update
sudo apt install -y build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev python3-setuptools rsync swig unzip zlib1g-dev file wget coreutils ccache musl-tools
#sudo yum groupinstall "Development Tools" -y
#sudo yum install cmake ncurses-devel zlib-devel gcc gcc-c++ patch unzip bzip2 gettext perl-Data-Dumper rsync -y
#sudo yum install git subversion gawk libtool zlib-devel gcc make ncurses-devel patch wget bzip2 flex bison gperf python3 python3-pip python3-setuptools -y
#sudo yum install glibc-devel glibc-static texinfo expat-devel gettext-devel openssl-devel -y
#sudo yum install perl perl-CPAN -y
#sudo cpan IPC::Cmd
#yes
- name: Configure ccache
uses: hendrikmuhs/[email protected]
- name: Cache OpenWRT dl folder
uses: actions/cache@v3
with:
path: $GITHUB_WORKSPACE/dl
key: ${{ runner.os }}-openwrt-dl-${{ hashFiles('$GITHUB_WORKSPACE/feeds.conf.default') }}
restore-keys: |
${{ runner.os }}-openwrt-dl-
- name: Cache OpenWRT build_dir
uses: actions/cache@v3
with:
path: $GITHUB_WORKSPACE/build_dir
key: ${{ runner.os }}-openwrt-build-${{ hashFiles('$GITHUB_WORKSPACE/.config') }}
restore-keys: |
${{ runner.os }}-openwrt-build-
- name: Set up ccache environment
run: |
export PATH="/usr/lib/ccache:$PATH"
export CC="ccache gcc"
export CXX="ccache g++"
export CONFIG_CCACHE=y
export CONFIG_CCACHE_DIR="$GITHUB_WORKSPACE/.ccache"
- uses: actions/cache@v2
with:
path: $GITHUB_WORKSPACE/.ccache
key: ${{ runner.os }}-ccache-${{ hashFiles('**/Makefile') }}
restore-keys: |
${{ runner.os }}-ccache-
- name: Clone OpenWRT
run: |
cd $GITHUB_WORKSPACE
./scripts/feeds update -a
./scripts/feeds install -a
curl -sSL https://raw.githubusercontent.com/chenmozhijin/turboacc/luci/add_turboacc.sh -o add_turboacc.sh && bash add_turboacc.sh
git clone https://github.com/sirpdboy/netspeedtest.git package/netspeedtest
git clone https://github.com/jerrykuku/luci-theme-argon.git package/luci-theme-argon
#git clone https://github.com/aUsernameWoW/uugamebooster package/uugamebooster && cd package/uugamebooster && bash update_makefile.sh
- name: Configure .config
run: |
cd $GITHUB_WORKSPACE
rm -rf .config
echo 'CONFIG_ALL_KMODS=y' >> .config
echo 'CONFIG_ALL_NONSHARED=y' >> .config
echo 'CONFIG_TARGET_mediatek_filogic_DEVICE_xiaomi_mi-router-ax3000t=y' >> .config
echo 'CONFIG_TARGET_mediatek_filogic=y' >> .config
echo 'CONFIG_TARGET_mediatek=y' >> .config
echo 'CONFIG_ZRAM_DEF_COMP_ZSTD=y' >> .config
echo 'CONFIG_FEED_luci=y' >> .config
echo 'CONFIG_FEED_packages=y' >> .config
echo 'CONFIG_FEED_routing=y' >> .config
echo 'CONFIG_FEED_telephony=y' >> .config
echo 'CONFIG_LUCI_LANG_zh_Hans=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-firewall=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-opkg=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-turboacc=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_BBR_CCA=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_NFT_FULLCONE=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_OFFLOADING=y' >> .config
echo 'CONFIG_PACKAGE_luci-base=y' >> .config
echo 'CONFIG_PACKAGE_luci-i18n-base-zh-cn=y' >> .config
echo 'CONFIG_PACKAGE_luci-i18n-dashboard-zh-cn=y' >> .config
echo 'CONFIG_PACKAGE_luci-i18n-firewall-zh-cn=y' >> .config
echo 'CONFIG_PACKAGE_luci-i18n-opkg-zh-cn=y' >> .config
echo 'CONFIG_PACKAGE_luci-lib-base=y' >> .config
echo 'CONFIG_PACKAGE_luci-lib-ip=y' >> .config
echo 'CONFIG_PACKAGE_luci-lib-jsonc=y' >> .config
echo 'CONFIG_PACKAGE_luci-lib-nixio=y' >> .config
echo 'CONFIG_PACKAGE_luci-light=y' >> .config
echo 'CONFIG_PACKAGE_luci-lua-runtime=y' >> .config
echo 'CONFIG_PACKAGE_luci-mod-admin-full=y' >> .config
echo 'CONFIG_PACKAGE_luci-mod-dashboard=y' >> .config
echo 'CONFIG_PACKAGE_luci-mod-network=y' >> .config
echo 'CONFIG_PACKAGE_luci-mod-status=y' >> .config
echo 'CONFIG_PACKAGE_luci-mod-system=y' >> .config
echo 'CONFIG_PACKAGE_luci-proto-ipv6=y' >> .config
echo 'CONFIG_PACKAGE_luci-proto-ppp=y' >> .config
echo 'CONFIG_PACKAGE_luci-theme-argon=y' >> .config
echo 'CONFIG_PACKAGE_luci-theme-bootstrap=y' >> .config
echo 'CONFIG_PACKAGE_luci=y' >> .config
echo 'CONFIG_PACKAGE_luci-theme-openwrt-2020=y' >> .config
echo 'CONFIG_PACKAGE_zram-swap=y' >> .config
echo 'CONFIG_PACKAGE_btop=y' >> .config
echo 'CONFIG_BPF=y' >> .config
echo 'CONFIG_BPF_SYSCALL=y' >> .config
echo 'CONFIG_BPF_JIT=y' >> .config
echo 'CONFIG_CGROUPS=y' >> .config
echo 'CONFIG_KPROBES=y' >> .config
echo 'CONFIG_NET_INGRESS=y' >> .config
echo 'CONFIG_NET_EGRESS=y' >> .config
echo 'CONFIG_NET_SCH_INGRESS=m' >> .config
echo 'CONFIG_NET_CLS_BPF=m' >> .config
echo 'CONFIG_NET_CLS_ACT=y' >> .config
echo 'CONFIG_BPF_STREAM_PARSER=y' >> .config
echo 'CONFIG_DEBUG_INFO=y' >> .config
echo '# CONFIG_DEBUG_INFO_REDUCED is not set' >> .config
echo 'CONFIG_DEBUG_INFO_BTF=y' >> .config
echo 'CONFIG_KPROBE_EVENTS=y' >> .config
echo 'CONFIG_BPF_EVENTS=y' >> .config
echo 'CONFIG_PACKAGE_wpad-wolfssl=y' >> .config
echo 'CONFIG_PACKAGE_kmod=y' >> .config
echo 'CONFIG_CCACHE=y' >> .config
echo 'CONFIG_CCACHE_DIR=".ccache"' >> .config
echo 'CONFIG_PACKAGE_luci-app-netspeedtest=y' >> .config
echo 'CONFIG_PACKAGE_luci-app-https-dns-proxy=y' >> .config
echo 'CONFIG_PACKAGE_uugamebooster=y' >> .config
echo 'CONFIG_LIBCURL_OPENSSL=y' >> .config
echo 'CONFIG_LIBCURL_NGHTTP3=y' >> .config
echo 'CONFIG_LIBCURL_ZSTD=y' >> .config
echo 'CONFIG_DEVEL=y' >> .config
make defconfig
- name: Build OpenWRT
run: |
cd $GITHUB_WORKSPACE
make -j$(nproc) V=s || make V=s
- name: Upload firmware
uses: actions/upload-artifact@v2
with:
name: openwrt-firmware
path: |
bin/targets/*