Skip to content

Commit 37af329

Browse files
committed
build config
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
1 parent 7ac94bc commit 37af329

12 files changed

Lines changed: 1092 additions & 0 deletions

File tree

.config_mediatek_main

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CONFIG_TARGET_mediatek=y
2+
CONFIG_TARGET_mediatek_filogic=y
3+
CONFIG_TARGET_mediatek_filogic_DEVICE_openwrt_one=y
4+
CONFIG_DEVEL=y
5+
CONFIG_CCACHE=y
6+
CONFIG_USE_GC_SECTIONS=y
7+
CONFIG_USE_LTO=y
8+
CONFIG_USE_MOLD=y
9+
CONFIG_RUST_USE_PREBUILT_BINARIES=n
10+
CONFIG_RUST_USE_PREBUILT_STD=n

.config_qualcommax_ipq807x_main

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
CONFIG_TARGET_qualcommax=y
2+
CONFIG_TARGET_qualcommax_ipq807x=y
3+
CONFIG_TARGET_MULTI_PROFILE=y
4+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_homewrk=y
5+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_homewrk=""
6+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx4200v1=y
7+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_mx4200v1=""
8+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx4200v2=y
9+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_mx4200v2=""
10+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx4300=y
11+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_mx4300=""
12+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx5300=y
13+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_mx5300=""
14+
CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx8500=y
15+
CONFIG_TARGET_DEVICE_PACKAGES_qualcommax_ipq807x_DEVICE_linksys_mx8500=""
16+
CONFIG_DEVEL=y
17+
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
18+
CONFIG_CCACHE=y
19+
CONFIG_KERNEL_DEBUG_GPIO=y
20+
CONFIG_KERNEL_DYNAMIC_DEBUG=y
21+
CONFIG_LIBCURL_COOKIES=y
22+
CONFIG_LIBCURL_FILE=y
23+
CONFIG_LIBCURL_FTP=y
24+
CONFIG_LIBCURL_HTTP=y
25+
CONFIG_LIBCURL_HTTP2=y
26+
CONFIG_LIBCURL_HTTP_AUTH=y
27+
CONFIG_LIBCURL_MBEDTLS=y
28+
CONFIG_LIBCURL_NO_SMB="!"
29+
CONFIG_LIBCURL_PROXY=y
30+
CONFIG_LIBCURL_UNIX_SOCKETS=y
31+
CONFIG_LIBCURL_ZLIB=y
32+
CONFIG_OPENSSL_ENGINE=y
33+
CONFIG_OPENSSL_WITH_ASM=y
34+
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
35+
CONFIG_OPENSSL_WITH_CMS=y
36+
CONFIG_OPENSSL_WITH_DEPRECATED=y
37+
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y
38+
CONFIG_OPENSSL_WITH_IDEA=y
39+
CONFIG_OPENSSL_WITH_MDC2=y
40+
CONFIG_OPENSSL_WITH_PSK=y
41+
CONFIG_OPENSSL_WITH_SEED=y
42+
CONFIG_OPENSSL_WITH_SRP=y
43+
CONFIG_OPENSSL_WITH_TLS13=y
44+
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
45+
CONFIG_PACKAGE_ATH_DEBUG=y
46+
CONFIG_PACKAGE_adblock-fast=y
47+
CONFIG_PACKAGE_bison=y
48+
CONFIG_PACKAGE_cJSON=y
49+
CONFIG_PACKAGE_coreutils=y
50+
CONFIG_PACKAGE_coreutils-sort=y
51+
CONFIG_PACKAGE_curl=y
52+
CONFIG_PACKAGE_dnsmasq=m
53+
CONFIG_PACKAGE_ethtool-full=y
54+
CONFIG_PACKAGE_flex=y
55+
CONFIG_PACKAGE_fluent-bit=y
56+
CONFIG_PACKAGE_gawk=y
57+
CONFIG_PACKAGE_grep=y
58+
CONFIG_PACKAGE_ip-full=y
59+
CONFIG_PACKAGE_iperf3=y
60+
CONFIG_PACKAGE_iptables-mod-ipopt=y
61+
CONFIG_PACKAGE_iptables-nft=y
62+
CONFIG_PACKAGE_kmod-bonding=y
63+
CONFIG_PACKAGE_kmod-crypto-kpp=y
64+
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y
65+
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y
66+
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y
67+
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y
68+
CONFIG_PACKAGE_kmod-ifb=y
69+
CONFIG_PACKAGE_kmod-ipt-core=y
70+
CONFIG_PACKAGE_kmod-ipt-ipopt=y
71+
CONFIG_PACKAGE_kmod-iptables=y
72+
CONFIG_PACKAGE_kmod-libphy=y
73+
CONFIG_PACKAGE_kmod-mdio-netlink=y
74+
CONFIG_PACKAGE_kmod-mtd-rw=y
75+
CONFIG_PACKAGE_kmod-nf-ipt=y
76+
CONFIG_PACKAGE_kmod-nft-compat=y
77+
CONFIG_PACKAGE_kmod-sched-cake=y
78+
CONFIG_PACKAGE_kmod-sched-core=y
79+
CONFIG_PACKAGE_kmod-udptunnel4=y
80+
CONFIG_PACKAGE_kmod-udptunnel6=y
81+
CONFIG_PACKAGE_kmod-veth=y
82+
CONFIG_PACKAGE_kmod-wireguard=y
83+
CONFIG_PACKAGE_libatomic=y
84+
CONFIG_PACKAGE_libbpf=y
85+
CONFIG_PACKAGE_libcares=y
86+
CONFIG_PACKAGE_libcurl=y
87+
CONFIG_PACKAGE_libelf=y
88+
CONFIG_PACKAGE_libevent2=y
89+
CONFIG_PACKAGE_libiperf3=y
90+
CONFIG_PACKAGE_libiptext=y
91+
CONFIG_PACKAGE_libiptext-nft=y
92+
CONFIG_PACKAGE_libiptext6=y
93+
CONFIG_PACKAGE_libmosquitto-nossl=y
94+
CONFIG_PACKAGE_libncurses=y
95+
CONFIG_PACKAGE_libnghttp2=y
96+
CONFIG_PACKAGE_libopenssl=y
97+
CONFIG_PACKAGE_libpcre2=y
98+
CONFIG_PACKAGE_libreadline=y
99+
CONFIG_PACKAGE_libsasl2=y
100+
CONFIG_PACKAGE_libstdcpp=y
101+
CONFIG_PACKAGE_libunbound=y
102+
CONFIG_PACKAGE_libunbound_ipset=y
103+
CONFIG_PACKAGE_libunbound_libevent=y
104+
CONFIG_PACKAGE_libunbound_libpthread=y
105+
CONFIG_PACKAGE_libxtables=y
106+
CONFIG_PACKAGE_libyaml=y
107+
CONFIG_PACKAGE_mdio-tools=y
108+
CONFIG_PACKAGE_mosquitto-client-nossl=y
109+
CONFIG_PACKAGE_musl-fts=y
110+
CONFIG_PACKAGE_odhcpd=y
111+
CONFIG_PACKAGE_odhcpd-ipv6only=m
112+
CONFIG_PACKAGE_proto-bonding=y
113+
CONFIG_PACKAGE_psmisc=y
114+
CONFIG_PACKAGE_resolveip=y
115+
CONFIG_PACKAGE_sed=y
116+
CONFIG_PACKAGE_smartdns=y
117+
CONFIG_PACKAGE_sqm-scripts=y
118+
CONFIG_PACKAGE_tc-tiny=y
119+
CONFIG_PACKAGE_terminfo=y
120+
CONFIG_PACKAGE_unbound-checkconf=y
121+
CONFIG_PACKAGE_unbound-control=y
122+
CONFIG_PACKAGE_unbound-daemon=y
123+
CONFIG_PACKAGE_wireguard-tools=y
124+
CONFIG_PACKAGE_xtables-nft=y
125+
CONFIG_PCRE2_JIT_ENABLED=y
126+
CONFIG_USE_GC_SECTIONS=y
127+
CONFIG_USE_LTO=y
128+
CONFIG_USE_MOLD=y

.config_qualcommax_main

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CONFIG_TARGET_qualcommax=y
2+
CONFIG_TARGET_qualcommax_ipq807x=y
3+
CONFIG_TARGET_qualcommax_ipq807x_DEVICE_aliyun_ap8220=y
4+
CONFIG_DEVEL=y
5+
CONFIG_CCACHE=y
6+
CONFIG_USE_GC_SECTIONS=y
7+
CONFIG_USE_LTO=y
8+
CONFIG_USE_MOLD=y
9+
CONFIG_RUST_USE_PREBUILT_BINARIES=n
10+
CONFIG_RUST_USE_PREBUILT_STD=n

.config_x86_main

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CONFIG_TARGET_x86=y
2+
CONFIG_TARGET_x86_64=y
3+
CONFIG_TARGET_x86_64_DEVICE_generic=y
4+
CONFIG_DEVEL=y
5+
CONFIG_CCACHE=y
6+
CONFIG_USE_GC_SECTIONS=y
7+
CONFIG_USE_LTO=y
8+
CONFIG_USE_MOLD=y
9+
CONFIG_RUST_USE_PREBUILT_BINARIES=n
10+
CONFIG_RUST_USE_PREBUILT_STD=n

.github/workflows/build-cache.yml

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
name: Build cache
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build-cache:
7+
name: Build target cache
8+
env:
9+
CCACHE_DIR: ${{ github.workspace }}/.ccache_base
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
os: [ubuntu-26.04, ubuntu-26.04-arm]
14+
target: [qualcommax, mediatek, x86]
15+
version: [main]
16+
exclude:
17+
- os: ubuntu-26.04
18+
target: qualcommax
19+
version: main
20+
- os: ubuntu-26.04
21+
target: mediatek
22+
version: main
23+
- os: ubuntu-26.04-arm
24+
target: x86
25+
version: main
26+
include:
27+
- os: ubuntu-26.04
28+
packages: >
29+
gawk
30+
glibc-source
31+
- os: ubuntu-26.04-arm
32+
packages: >
33+
gawk
34+
glibc-source
35+
runs-on: ${{ matrix.os }}
36+
defaults:
37+
run:
38+
working-directory: ${{ matrix.target }}_${{ matrix.version }}
39+
permissions:
40+
actions: write
41+
contents: write
42+
steps:
43+
- name: Start Workflow Telemetry
44+
uses: dev-hato/actions-workflow-metrics@main
45+
with:
46+
github_token: ${{ secrets.GITHUB_TOKEN }}
47+
interval_seconds: "30"
48+
49+
- name: Install packages
50+
uses: gerlero/apt-install@v1
51+
with:
52+
install-recommends: false
53+
packages: ${{ matrix.packages }}
54+
55+
- name: Restore cache
56+
id: cache-restore
57+
uses: actions/cache/restore@v6
58+
with:
59+
path: ${{ matrix.target }}_${{ matrix.version }}
60+
key: cache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}
61+
62+
- name: Restore ccache
63+
id: ccache-restore
64+
uses: actions/cache/restore@v6
65+
with:
66+
path: ${{ env.CCACHE_DIR }}
67+
key: ccache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}
68+
69+
- name: Ccache stats clear
70+
if: steps.cache-restore.outputs.cache-hit && steps.ccache-restore.outputs.cache-hit
71+
run: staging_dir/host/bin/ccache -z
72+
73+
- name: Checkout
74+
uses: actions/checkout@v7
75+
with:
76+
path: ${{ matrix.target }}_${{ matrix.version }}
77+
clean: false
78+
79+
- name: Get SHA
80+
uses: benjlevesque/short-sha@v4.0
81+
82+
- name: Update feeds
83+
run: make package/symlinks
84+
85+
- name: Makefiles node rust
86+
run: |
87+
cp node/Config.in feeds/packages/lang/node/Config.in
88+
cp node/Makefile feeds/packages/lang/node/Makefile
89+
cp rust/Config.in feeds/packages/lang/rust/Config.in
90+
cp rust/Makefile feeds/packages/lang/rust/Makefile
91+
cp rust/rust-values.mk feeds/packages/lang/rust/rust-values.mk
92+
93+
- name: Import config
94+
run: mv .config_${{ matrix.target }}_${{ matrix.version }} .config
95+
96+
- name: Update config
97+
run: make defconfig
98+
99+
- name: Prepare build
100+
id: prepare-build
101+
run: make CCACHE_DIR=${{ env.CCACHE_DIR }} -j$(($(nproc)+1)) download tools/compile toolchain/compile
102+
103+
#- name: Check dir
104+
# run: |
105+
# ls -laR build_dir
106+
# cat feeds/packages/lang/rust/Makefile
107+
# cat feeds/packages/lang/rust/rust-values.mk
108+
109+
- name: Build Node
110+
run: make CCACHE_DIR=${{ env.CCACHE_DIR }} -j$(($(nproc)+1)) package/node/host/clean package/node/host/compile V=sc
111+
112+
- name: Build Rust
113+
run: make CCACHE_DIR=${{ env.CCACHE_DIR }} -j$(($(nproc)+1)) package/rust/host/clean package/rust/host/compile V=sc
114+
115+
- name: Ccache stats
116+
run: staging_dir/host/bin/ccache -s
117+
118+
- name: Delete old ccache
119+
if: (success() || failure()) && steps.ccache-restore.outputs.cache-hit
120+
env:
121+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
122+
run: |
123+
CACHE_SIZE=$(gh cache list --limit 100 --json sizeInBytes --jq '[.[].sizeInBytes] | add // 0')
124+
CACHE_SIZE_API_2=$(gh api /repos/${{ github.repository }}/actions/cache/usage --jq '.active_caches_size_in_bytes')
125+
echo "Cache size ${CACHE_SIZE}/${CACHE_SIZE_API_2}."
126+
gh cache delete "ccache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}"
127+
START=$SECONDS
128+
TIMEOUT=6000
129+
while [ $(( SECONDS - START )) -lt $TIMEOUT ]; do
130+
sleep 5
131+
CACHE_SIZE_NEW=$(gh cache list --limit 100 --json sizeInBytes --jq '[.[].sizeInBytes] | add // 0')
132+
CACHE_SIZE_API=$(gh api /repos/${{ github.repository }}/actions/cache/usage --jq '.active_caches_size_in_bytes')
133+
if [ "$CACHE_SIZE_NEW" -eq "$CACHE_SIZE_API" ]; then
134+
ELAPSED=$(( SECONDS - START ))
135+
echo "Cache size updated after ${ELAPSED}s."
136+
break
137+
fi
138+
echo "Cache size after ${CACHE_SIZE_NEW}/${CACHE_SIZE_API}."
139+
done
140+
141+
- name: Save ccache
142+
if: success() || failure()
143+
uses: actions/cache/save@v6
144+
with:
145+
path: ${{ env.CCACHE_DIR }}
146+
key: ccache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}
147+
148+
- name: Revert node changes
149+
run: |
150+
if [ -d feeds/packages/.git ]; then
151+
rm -f lang/node/Config.in
152+
git -C feeds/packages checkout HEAD -- lang/node/Makefile
153+
git -C feeds/packages checkout HEAD -- lang/rust/Config.in
154+
git -C feeds/packages checkout HEAD -- lang/rust/Makefile
155+
git -C feeds/packages checkout HEAD -- lang/rust/rust-values.mk
156+
fi
157+
158+
- name: Clean binaries and config
159+
if: success() || failure()
160+
run: |
161+
du -h -d 1 .
162+
du -h -d 4 build_dir
163+
du -h -d 4 staging_dir
164+
make config-clean
165+
find build_dir/host build_dir/hostpkg build_dir/target-*/host build_dir/toolchain-* -mindepth 2 -maxdepth 2 ! -name '.configured' ! -name '.built' ! \( -name '.prepared*' ! -name '*_check' \) -exec rm -fr {} + || true
166+
rm -rf tmp .config* *.pem
167+
168+
- name: Delete old cache
169+
if: (success() || failure()) && steps.cache-restore.outputs.cache-hit
170+
env:
171+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
172+
run: |
173+
CACHE_SIZE=$(gh cache list --limit 100 --json sizeInBytes --jq '[.[].sizeInBytes] | add // 0')
174+
CACHE_SIZE_API_2=$(gh api /repos/${{ github.repository }}/actions/cache/usage --jq '.active_caches_size_in_bytes')
175+
echo "Cache size ${CACHE_SIZE}/${CACHE_SIZE_API_2}."
176+
gh cache delete "cache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}"
177+
START=$SECONDS
178+
TIMEOUT=6000
179+
while [ $(( SECONDS - START )) -lt $TIMEOUT ]; do
180+
sleep 5
181+
CACHE_SIZE_NEW=$(gh cache list --limit 100 --json sizeInBytes --jq '[.[].sizeInBytes] | add // 0')
182+
CACHE_SIZE_API=$(gh api /repos/${{ github.repository }}/actions/cache/usage --jq '.active_caches_size_in_bytes')
183+
if [ "$CACHE_SIZE_NEW" -eq "$CACHE_SIZE_API" ]; then
184+
ELAPSED=$(( SECONDS - START ))
185+
echo "Cache size updated after ${ELAPSED}s."
186+
break
187+
fi
188+
echo "Cache size after ${CACHE_SIZE_NEW}/${CACHE_SIZE_API}."
189+
done
190+
191+
192+
- name: Save cache
193+
if: success() || failure()
194+
uses: actions/cache/save@v6
195+
with:
196+
path: ${{ matrix.target }}_${{ matrix.version }}
197+
key: cache-${{ matrix.os }}-${{ matrix.target }}_${{ matrix.version }}

0 commit comments

Comments
 (0)