Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
425 commits
Select commit Hold shift + click to select a range
8fd029b
linux-6.12: bump to 6.12.8
sbwml Jan 3, 2025
886a9c4
OpenWrt 24.10.0-rc5
sbwml Jan 6, 2025
84f4a34
linux-6.12: bump to 6.12.9
sbwml Jan 10, 2025
715afb1
Revert "openwrt-24.10: dnsmasq: fix compatibility issues"
sbwml Jan 12, 2025
5c19b37
modules: sync openwrt upstream kernel modules
sbwml Jan 13, 2025
33ca123
archive 2025-02-08
sbwml Feb 8, 2025
763905c
ci: private build
sbwml Feb 8, 2025
073e5cc
linux-6.12: bump to 6.12.13
sbwml Feb 9, 2025
9f07215
docs: authorization
sbwml Feb 9, 2025
2eae79d
build.sh: check authorization
sbwml Feb 13, 2025
a9fcc23
libubox: disable O3 optimization
sbwml Feb 13, 2025
d55467e
toolchain: GCC 15-20250209 Snapshot (15.0.1)
sbwml Feb 13, 2025
536a769
openwrt_core: drop build fibocom-dial
sbwml Feb 13, 2025
1e25630
shine: build with std=gnu17
sbwml Feb 13, 2025
e48d2a5
build.sh: fix github action
sbwml Feb 13, 2025
e7dc564
jq: build with std=gnu17
sbwml Feb 16, 2025
5b3f033
linux-6.12: bump to 6.12.14
sbwml Feb 17, 2025
7290f96
linux-6.12: bump to 6.12.15
sbwml Feb 19, 2025
07e3b45
linux-6.12: bump to 6.12.16
sbwml Feb 23, 2025
3b39d7f
golang: update to 1.24.x
sbwml Feb 27, 2025
b20569f
linux-6.12: bump to 6.12.17
sbwml Feb 27, 2025
45a27d7
libpcap: fix symbol link errors
sbwml Mar 7, 2025
7d9fd95
linux-6.12: bump to 6.12.18
sbwml Mar 9, 2025
1fcb463
opkg: make package conffiles a sysupgrade preserve
sbwml Mar 13, 2025
640e8ee
linux-6.12: bump to 6.12.19
sbwml Mar 13, 2025
04bf4df
patch: kernel-6.12: refresh patches
sbwml Mar 20, 2025
36923da
zerotier: fix segmentation fault
sbwml Mar 21, 2025
fd61226
linux-6.12 & mac80211: update to 6.12.20
sbwml Mar 23, 2025
e3965dd
mt76: update to 2025-02-14
sbwml Mar 23, 2025
151c895
sms-tools: fix incompatible pointer type error for signal function
sbwml Mar 23, 2025
8dc6474
linux-6.12: bump to 6.12.21
sbwml Mar 29, 2025
400af69
natmap: disable syslogs by default
sbwml Apr 1, 2025
5eb3094
dev: mbedtls: upstream has fixed the build
sbwml Apr 2, 2025
f8c0b37
dockerd: make docker daemon to use cgroup v2
sbwml Apr 2, 2025
440855a
mac80211: update to 6.14 & mt76: update to 2025-03-19
sbwml Apr 3, 2025
e6ad375
linux-6.12: bump to 6.12.22
sbwml Apr 7, 2025
f790c98
linux-6.12: bump to 6.12.23
sbwml Apr 11, 2025
88bd36c
OpenWrt 24.10.1
sbwml Apr 14, 2025
86c90c1
x86: add RTL8127 PCI 10 gigabit ethernet driver
sbwml Apr 19, 2025
e0bf91f
linux-6.12: bump to 6.12.24
sbwml Apr 20, 2025
45b6774
linux-6.12: bump to 6.12.25
sbwml Apr 25, 2025
fc36000
linux-6.12: bump to 6.12.26
sbwml May 2, 2025
707c8f3
toolchain: gcc: update GCC 15 to 15.1.0
sbwml May 2, 2025
c025e39
linux-6.12: bump to 6.12.27
sbwml May 5, 2025
f40459d
linux-6.12: zram: fix lz4 & zstd compression algorithm
sbwml May 5, 2025
2d2b624
luci-base: add ucitrack for zram
sbwml May 5, 2025
f36a1f8
linux-6.12: bump to 6.12.28
sbwml May 10, 2025
05eabe4
linux-6.12: bump to 6.12.29
sbwml May 18, 2025
38c04e3
linux-6.12: bump to 6.12.30
sbwml May 27, 2025
c657436
luci-app-sqm: switch luci source
sbwml May 27, 2025
414de20
sysctl.d: use `cake` queueing discipline
sbwml May 28, 2025
e9a51a3
openssl: fix AEAD ciphers benchmark performance degradation
sbwml May 28, 2025
4f935b9
miniupnpd: update to 2.3.9
sbwml May 29, 2025
6247574
dockerd: update custom patches
sbwml May 29, 2025
c3a3f16
[WIP] images: add squashfs zstd compression support
sbwml May 29, 2025
0e5ec04
config: set squashfs block size to 1024 in build config
sbwml May 29, 2025
6749728
linux-6.12: bump to 6.12.31
sbwml May 29, 2025
b9e349f
mac80211 & ath10k-ct: update to 6.15
sbwml May 30, 2025
06b2115
mt76: update to 2025-05-21
sbwml May 30, 2025
38b6c8c
config: set squashfs block size to 512 in build config
sbwml May 30, 2025
7fc4603
Revert "config: set squashfs block size to 512 in build config"
sbwml May 30, 2025
6152dca
Revert "config: set squashfs block size to 1024 in build config"
sbwml May 30, 2025
6ac32de
linux-6.12: fix build warnings in bbr3 with Clang
sbwml Jun 2, 2025
045a3a5
config: add kmod-sched-cake
sbwml Jun 3, 2025
ce51c06
config: r8500: add kmod-sched-cake
sbwml Jun 4, 2025
02ecf57
linux-6.12: bump to 6.12.32
sbwml Jun 5, 2025
ac3ee01
config: minimal: remove oaf
sbwml Jun 8, 2025
bc16947
build.sh: add support for custom default password
sbwml Jun 8, 2025
51114ec
ci/docs: add custom default password
sbwml Jun 8, 2025
7f38146
Revert "sysctl.d: use `cake` queueing discipline"
sbwml Jun 9, 2025
5faf35d
config-common: drop samba4-admin
sbwml Jun 9, 2025
f8639d4
linux-6.12: bump to 6.12.33
sbwml Jun 13, 2025
da12fa1
mt76: fix build for mediatek/filogic
sbwml Jun 13, 2025
c2b375a
config-common: drop luci-app-alist package
sbwml Jun 13, 2025
114a782
package: add luci-app-openlist
sbwml Jun 16, 2025
73b5772
golang: update to 1.25.x
sbwml Jun 24, 2025
7d61038
config-conmon: add luci-app-openlist
sbwml Jun 24, 2025
5fa8ae5
linux-6.12: bump to 6.12.34
sbwml Jun 24, 2025
478f284
OpenWrt 24.10.2
sbwml Jun 24, 2025
77839bd
linux-6.12: bump to 6.12.35
sbwml Jul 3, 2025
4af7213
dockerd: remove obsolete patches
sbwml Jul 3, 2025
6b7b9e9
package: add luci-app-quickfile
sbwml Jul 7, 2025
c70184f
build.sh: add openwrt code cn mirror
sbwml Jul 7, 2025
dfd9c95
linux-6.12: bump to 6.12.36
sbwml Jul 7, 2025
2d12557
modules: fix kmod-hwmon-lm92 dependencies
sbwml Jul 7, 2025
3bfdf3e
modules: fix kmod-hwmon-sch5627 dependencies
sbwml Jul 7, 2025
6d105c6
linux-6.12: bump to 6.12.37 & mac80211: update to 6.15.6
sbwml Jul 10, 2025
96d4c48
openssl: refresh patches for 3.0.17
sbwml Jul 11, 2025
75b43ec
package: remove openlist pkg from feeds
sbwml Jul 11, 2025
a821535
luci-mod-status: iptables status menu conditions
sbwml Jul 13, 2025
b6ca777
luci-compat: remove extra line breaks from description
sbwml Jul 13, 2025
93d80bf
linux-6.12: bump to 6.12.38
sbwml Jul 15, 2025
2cb6b41
linux-6.12: bump to 6.12.39
sbwml Jul 18, 2025
e822a5c
luci-app-openlist2
sbwml Jul 18, 2025
344e969
build.sh: Add support for FriendlyARM NanoPi R76S
sbwml Jul 21, 2025
e3e2602
uboot: fix nanopi-r76s
sbwml Jul 22, 2025
3e9d4f8
nanopi-r76s: add kmod-rtw88-8822cs
sbwml Jul 22, 2025
e67c0ba
script: add emmc-install script for nanopi-r76s
sbwml Jul 22, 2025
0024a2b
htop: update to 3.4.1
sbwml Jul 24, 2025
70a83e7
ci: add nanopi-r76s support
sbwml Jul 24, 2025
a2369df
linux-6.12: bump to 6.12.40
sbwml Jul 25, 2025
7e19070
emmc-install: use parted scripting mode
sbwml Jul 26, 2025
fdc5db6
nanopi-r76s: switch to rtl8822cs oot driver
sbwml Jul 29, 2025
6f814cb
modules: bluetooth: add Realtek UART protocol support
sbwml Jul 30, 2025
95ce784
nanopi-r76s: Add Bluetooth driver
sbwml Jul 30, 2025
6adac4d
config: minimal: drop iptables
sbwml Jul 31, 2025
28db645
config-common: remove some less used utilities
sbwml Aug 1, 2025
6771125
linux-6.12: bump to 6.12.41
sbwml Aug 4, 2025
47656fd
OpenAppFilter: update to 6.x version
sbwml Aug 4, 2025
42f23d6
linux-6.12: bump to 6.12.42
sbwml Aug 19, 2025
0f2dea5
linux-6.12: bump to 6.12.43
sbwml Aug 21, 2025
24d28fd
config: add accel/rocket rockchip NPU driver for nanopi r76s
sbwml Aug 27, 2025
816528c
ci: fix nanopi r76s firmware release
sbwml Aug 27, 2025
16bd7f7
linux-6.12: bump to 6.12.44
sbwml Aug 30, 2025
250dab3
ci: fix shell condition not matching nanopi-* device names
sbwml Aug 31, 2025
2f04561
linux-6.12: bump to 6.12.46
sbwml Sep 10, 2025
45b4a07
linux-6.12: bump to 6.12.47
sbwml Sep 12, 2025
907fc30
rtl8812au-ct: mark BROKEN
sbwml Sep 12, 2025
e3f4037
build.sh: drop Netgear R8500 support
sbwml Sep 15, 2025
be07b11
mt76: maintained as a standalone package
sbwml Sep 16, 2025
517bd7a
linux-6.12: bump to 6.12.48
sbwml Sep 21, 2025
bd611af
OpenWrt 24.10.3
sbwml Sep 21, 2025
9d310ba
mt76: update to 2025-09-15 & mac80211: update to 6.16.8
sbwml Sep 21, 2025
051a006
linux-6.12: bump to 6.12.49
sbwml Sep 26, 2025
f092449
build.sh: add std build type
sbwml Sep 26, 2025
0c11397
linux-6.12: bump to 6.12.51
sbwml Oct 8, 2025
021c0f4
linux-6.12: bump to 6.12.54
sbwml Oct 21, 2025
7d5047d
OpenWrt 24.10.4
sbwml Oct 21, 2025
8eb7425
linux-6.18: init 6.18-rc3
sbwml Nov 2, 2025
8bc1724
linux-6.18: bump to 6.18-rc4
sbwml Nov 4, 2025
1c0fe60
openwrt: refresh patch
sbwml Nov 10, 2025
fa820a1
linux-6.18: bump to 6.18-rc5
sbwml Nov 10, 2025
01d5b08
config: fix kernel cflags
sbwml Nov 10, 2025
e0e1f66
firewall/docker: remove iptables and using only nftables
sbwml Nov 12, 2025
319a0ac
config-common: dnsmasq: remove `ipset`
sbwml Nov 13, 2025
07c547a
toolchain: gcc: update GCC 15 to 15.2.0
sbwml Nov 17, 2025
a552690
std-common: remove iptables and using only nftables
sbwml Nov 17, 2025
dbf5ba4
linux-6.18: bump to 6.18-rc6
sbwml Nov 17, 2025
b3c07ed
script: add source mirror
sbwml Nov 20, 2025
c2df2ce
linux-6.18: bump to 6.18
sbwml Dec 2, 2025
ee5b345
config-common: add luci-app-rtp2httpd
sbwml Dec 10, 2025
ebe1eb8
Linux 6.18 designated as 2025 LTS
sbwml Dec 10, 2025
0b74d1f
build.sh: update ota url
sbwml Dec 10, 2025
1f8ba19
linux-6.18: bump to 6.18.1
sbwml Dec 13, 2025
916d3db
v4l2loopback: fix build for linux 6.18
sbwml Dec 13, 2025
0fdaec9
dahdi-linux: fix build for linux 6.18
sbwml Dec 13, 2025
76c7fd5
script: fix snapshot-24.10
sbwml Dec 17, 2025
7e1ed03
build: add openwrt-25.12 build keys
sbwml Dec 17, 2025
471147c
linux-6.18: bump to 6.18.2
sbwml Dec 19, 2025
0926b00
OpenWrt 24.10.5
sbwml Dec 19, 2025
82c0284
init openwrt-25.12
sbwml Dec 26, 2025
90e81ff
golang: update to 1.26.x
sbwml Dec 28, 2025
5ae931f
build.sh: Add iStoreOS style
sbwml Dec 28, 2025
c92ae86
config-common/std: add luci-app-bandix
sbwml Dec 29, 2025
57093fe
nat6: switch to openwrt-25.12 branch
sbwml Dec 29, 2025
a970afd
config-common: drop luci-app-bandix
sbwml Dec 29, 2025
a5f55e0
build.sh: add ota support to std build
sbwml Dec 30, 2025
c2101e8
odhcp6c: fix work for openwrt-25.12.0-rc1
sbwml Dec 30, 2025
122d93d
fix c2101e80
sbwml Dec 30, 2025
32b9338
linux-6.18: bump to 6.18.3
sbwml Jan 6, 2026
2dd02ab
nginx: switch to openwrt-25.12 branch
sbwml Jan 7, 2026
9bbf92c
x86: disable r8126 & r8127 for now
sbwml Jan 7, 2026
c225c03
Revert "x86: disable r8126 & r8127 for now"
sbwml Jan 8, 2026
eb84e60
OpenWrt 25.12.0-rc2
sbwml Jan 8, 2026
7cef86a
linux-6.18: bump to 6.18.4
sbwml Jan 11, 2026
a6eb366
linux-6.18: bump to 6.18.6
sbwml Jan 18, 2026
dff35b7
config: add video decoder driver for nanopi-r76s
sbwml Jan 18, 2026
a977b22
fix 25-config-musl-r76s
sbwml Jan 18, 2026
47844c3
linux-6.18: bump to 6.18.7
sbwml Jan 25, 2026
220327f
luci-app-package-manager: support installing uploaded APK without sig…
sbwml Jan 25, 2026
223e97c
OpenWrt 25.12.0-rc3
sbwml Jan 25, 2026
6a7949c
linux-6.18: bump to 6.18.9
sbwml Feb 7, 2026
e96836c
irqbalance: fix build on snapshot
sbwml Feb 7, 2026
44125e8
docker: Update to version 29.2.1
sbwml Feb 8, 2026
426d427
coremark: rebuild with GCC15.2.0 -Ofast & 16 threads
sbwml Feb 8, 2026
374eadb
OpenWrt 25.12.0-rc4
sbwml Feb 9, 2026
ccff9d8
luci-app-package-manager: fix `install-upload` acl permission
sbwml Feb 10, 2026
cf98fb9
apk: disable hsts
sbwml Feb 15, 2026
05e5dd5
linux-6.18: bump to 6.18.10
sbwml Feb 15, 2026
7589abc
firewall4: disable fullcone nat by default
sbwml Feb 16, 2026
ee87217
linux-6.18: bump to 6.18.11
sbwml Feb 16, 2026
417209d
apk: fix patch path
sbwml Feb 16, 2026
38a24f8
linux-6.18: bump to 6.18.12
sbwml Feb 17, 2026
f649dbb
OpenWrt 25.12.0-rc5
sbwml Feb 19, 2026
c51b1c9
mt76: update to Git HEAD (2026-01-28)
sbwml Feb 19, 2026
4569f7d
linux-6.18: bump to 6.18.13 & fix irqbalance build
sbwml Feb 20, 2026
95591f8
add luci-lib-docker package (docker api - lua)
sbwml Feb 21, 2026
6340133
luci-app-dockerman: update to JS version
sbwml Feb 22, 2026
ac3bff7
linux-6.18: bump to 6.18.14
sbwml Feb 27, 2026
050595a
config: clean up
sbwml Feb 27, 2026
3897172
config: nanopi-r76s: use the high-performance sdio wifi driver
sbwml Feb 27, 2026
53c5f61
build: enable lto jobserver
sbwml Feb 27, 2026
f8c4bfd
script: add rtl8852au driver (oot)
sbwml Feb 27, 2026
3117f07
mt76: mt7925: import stability fixes from zbowling/linux-wifi
sbwml Feb 27, 2026
0d6243a
config: add kmod-tun & ip-full pkgs
sbwml Mar 3, 2026
0839284
linux-6.18: bump to 6.18.15
sbwml Mar 3, 2026
ebcd075
OpenWrt v25.12.0
sbwml Mar 7, 2026
1e9803f
script: cleanup script
sbwml Mar 7, 2026
3e4981f
linux-6.18: bump to 6.18.16
sbwml Mar 7, 2026
ba7d681
config-common: update config
sbwml Mar 10, 2026
3f422b2
luci-app-package-manager: fix upload-install (25.10.0)
sbwml Mar 10, 2026
055a476
x86: update config
sbwml Mar 10, 2026
597390c
build: remove unused patche
sbwml Mar 10, 2026
c134e75
bluetooth: fix realtek hci-uart bluetooth driver
sbwml Mar 11, 2026
d2913ca
build: add luci-app-bluetooth for nanopi-r76s
sbwml Mar 14, 2026
fc7222a
linux-6.18: bump to 6.18.18
sbwml Mar 14, 2026
497dce0
ci: fix node20 workflow warning
sbwml Mar 14, 2026
f4c5d22
x64/config-6.18: Add Maximum Number of CPUs
sbwml Mar 17, 2026
7091876
config-common: add luci-theme-aurora
sbwml Mar 18, 2026
314daac
OpenWrt v25.12.1
sbwml Mar 18, 2026
f26bffc
linux-6.18: bump to 6.18.19
sbwml Mar 23, 2026
1b7c0b7
linux-6.18: bump to 6.18.20
sbwml Mar 31, 2026
365297b
OpenWrt v25.12.2
sbwml Mar 31, 2026
756a6d4
linux-6.18: bump to 6.18.22
sbwml Apr 19, 2026
54ada5f
add luci-app-diskman js
sbwml Apr 19, 2026
3cdbaf6
linux-6.18: bump to 6.18.24
sbwml Apr 26, 2026
1602846
busybox: drop history save path
sbwml Apr 30, 2026
7573dfb
linux-6.18: bump to 6.18.26
sbwml Apr 30, 2026
6f46c5c
mt76: add MT7927 (Filogic 380) support
sbwml Apr 30, 2026
9fa94eb
config: x86: add mt7925e & mt7927e
sbwml Apr 30, 2026
b05dafd
script: mt76: add mt7927 patches
sbwml Apr 30, 2026
95251d3
build.sh: fix typo
sbwml Apr 30, 2026
a6c0ae2
config: remove all lua-based applications
sbwml May 2, 2026
e6f69c3
shortcut-fe: fixed build for linux 6.18 now
sbwml May 2, 2026
df51b51
batman-adv: fix build for linux 6.18
sbwml May 2, 2026
58d04c2
config: add `luci-app-nikki`
sbwml May 2, 2026
0e06d5d
firewall4: refactor fullcone6 logic to sync with NAT4 and restrict to…
sbwml May 3, 2026
23ed6b3
OpenWrt v25.12.3
sbwml May 6, 2026
1cc8447
linux-6.18: bump to 6.18.28
sbwml May 9, 2026
f0b3765
mac80211: update to linux 7.0.5
sbwml May 9, 2026
5fc4b5b
modules: add `kmod-adc-keys` modules
sbwml May 10, 2026
75d56c5
script: update rust/node feeds
sbwml May 10, 2026
b0aefe8
node: fix source branche
sbwml May 11, 2026
ddb3dc2
toolchain: gcc: add support for GCC-16
sbwml May 12, 2026
8fb4f1f
build.sh: add `luci-app-oaf` to code3 APK source
sbwml May 13, 2026
4360c54
ci: update snapshot tag name
sbwml May 14, 2026
cb8857b
linux-6.18: bump to 6.18.29
sbwml May 14, 2026
769d734
OpenWrt v25.12.4
sbwml May 14, 2026
5ccbb8a
linux-6.18: bump to 6.18.30
sbwml May 14, 2026
27ba7a7
ci: update actions/cache workflow
sbwml May 15, 2026
d003224
netfilter: fix kmod-nf-ipt depend
sbwml May 15, 2026
3705a0c
linux-6.18: bump to 6.18.32
sbwml May 20, 2026
ee2964e
config: add luci-app-oaf (rewritten in JS)
sbwml May 20, 2026
1a32cf2
config-std: remove luci-theme-aurora
sbwml May 24, 2026
d5698bd
build.sh: fix thread count detection to prevent OOM on RHEL 10
sbwml May 24, 2026
0960c75
build.sh: update RHEL 10 identifier
sbwml May 24, 2026
7462ee5
config: nanopi: enable `CONFIG_KERNEL_PSI`
sbwml May 30, 2026
916695c
nginx: set `client_body_buffer_size`
sbwml May 30, 2026
554df43
nginx-util: remove uci.conf.template in upgrade backup
sbwml May 31, 2026
815b1c3
linux-6.18: bump to 6.18.34
sbwml Jun 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
142 changes: 123 additions & 19 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,42 @@ on:
workflow_dispatch:
inputs:
device:
description: 'Select device to build'
description: 'Select the build device'
required: true
default: 'x86_64'
type: choice
options:
- 'armv8'
- 'nanopi-r4s'
- 'nanopi-r5s'
- 'netgear_r8500'
- 'nanopi-r76s'
- 'x86_64'
version:
description: 'Select the build version'
required: true
default: 'release'
type: choice
options:
- 'release'
- 'snapshot-25.12'
ccache:
description: 'Enable ccache (Use Cache to speed up next build)'
type: boolean
default: false
lan_addr:
description: 'Setting default LAN address'
required: true
default: '10.0.0.1'
type: string
root_password:
description: 'Setting default root password (Optional, No password by default)'
required: false
default: ''
type: string
build_options:
description: 'Build options (separate multiple options with spaces)'
required: false
default: 'BUILD_FAST=y ENABLE_LTO=y ENABLE_MOLD=y ENABLE_LRNG=y ENABLE_BPF=y USE_GCC14=y'
default: 'BUILD_FAST=y ENABLE_BPF=y ENABLE_LTO=y ENABLE_LRNG=y ENABLE_MOLD=y KERNEL_CLANG_LTO=y'
type: string

jobs:
Expand All @@ -29,12 +51,19 @@ jobs:
shell: bash

steps:
- name: Checkout
continue-on-error: true
uses: actions/checkout@main
with:
path: r4s_build_script

- name: Setup variables
run: |
sudo timedatectl set-timezone 'Asia/Shanghai'
git config --global user.name 'actions'
git config --global user.email 'action@github.com'
echo WORKDIR="/builder" >> "$GITHUB_ENV"
echo build_dir="/builder" >> "$GITHUB_ENV"
[ "${{ github.event.inputs.version }}" = release ] && echo build_version="rc2" >> "$GITHUB_ENV" || echo build_version="dev" >> "$GITHUB_ENV"

- name: Show system
run: |
Expand All @@ -50,6 +79,16 @@ jobs:
uname -a
echo

- name: Install Caddy Server
run: |
sudo curl -sL -o /usr/bin/caddy https://github.com/sbwml/r4s_build_script/releases/download/caddy/caddy
sudo chmod 755 /usr/bin/caddy
echo ":8080 {" > caddyfile
echo " root * $(pwd)/r4s_build_script" >> caddyfile
echo " file_server browse" >> caddyfile
echo "}" >> caddyfile
sudo /usr/bin/caddy start --config caddyfile --adapter caddyfile

- name: Free disk space
uses: sbwml/actions@free-disk
with:
Expand All @@ -61,16 +100,45 @@ jobs:
- name: Install LLVM
uses: sbwml/actions@install-llvm

- name: Restore Cached
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device != 'armv8' && github.event.inputs.device != 'nanopi-r4s' }}
uses: actions/cache/restore@main
with:
path: /builder/.ccache
key: openwrt-25.12-${{ github.event.inputs.device }}-ccache

- name: Restore Cached (releases)
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device == 'armv8' || github.event.inputs.device == 'nanopi-r4s' }}
continue-on-error: true
working-directory: /builder
run: |
curl -s https://api.github.com/repos/${{ github.repository }}/releases | grep 'browser_download_url' | grep ccache | grep ${{ github.event.inputs.device }} | awk -F '"' '{print $4}' | grep -v '^$' | xargs -n 1 wget -q
cat ${{ github.event.inputs.device }}.tar.* | tar -xf - || true
rm -rf ${{ github.event.inputs.device }}.tar.* || true
[ -d .ccache ] && cache_size=$(du -sb .ccache | awk '{print $1}') || cache_size=0
cache_size_mb=$(echo "scale=0; ${cache_size} / (1024 * 1024)" | bc)
echo "Cache Size: ~${cache_size_mb} MB (${cache_size} B)"
echo "Cache restored successfully"
echo "Cache restored from key: ${{ github.event.inputs.device }}"

- name: Compile OpenWrt
working-directory: /builder
id: compile
continue-on-error: true
env:
git_name: ${{ secrets.username }}
git_password: ${{ secrets.password }}
run: |
export GITHUB_REPO=${{ github.repository }}
export ${{ github.event.inputs.build_options }}
bash <(curl -sS https://raw.githubusercontent.com/${{ github.repository }}/master/openwrt/build.sh) rc2 ${{ github.event.inputs.device }}
export ${{ github.event.inputs.build_options }} LAN=${{ github.event.inputs.lan_addr }} USE_GCC15=y
[ ${{ github.event.inputs.ccache }} = 'true' ] && export ENABLE_CCACHE=y
[ -n ${{ github.event.inputs.root_password }} ] && export ROOT_PASSWORD="${{ github.event.inputs.root_password }}"
bash <(curl -sS http://127.0.0.1:8080/build.sh) ${{ env.build_version }} ${{ github.event.inputs.device }}
cd openwrt
tags=$(git describe --abbrev=0 --tags)
if [ "${{ github.event.inputs.version }}" = release ]; then
tags=OpenWrt-$(git describe --abbrev=0 --tags)
else
tags=snapshot-25.12-$(git log -n 1 --date=format:"%Y%m%d" --format="%cd")-$(git log --pretty=format:"%h" -1)
fi
echo "latest_release=$tags" >>$GITHUB_ENV

- name: Extensive logs after a failed compilation
Expand All @@ -80,16 +148,52 @@ jobs:
cd openwrt
make V=s

- name: Delete Cached
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device != 'armv8' && github.event.inputs.device != 'nanopi-r4s' }}
continue-on-error: true
working-directory: /builder
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
run: |
gh cache delete openwrt-25.12-${{ github.event.inputs.device }}-ccache || true

- name: Save Cached
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device != 'armv8' && github.event.inputs.device != 'nanopi-r4s' }}
continue-on-error: true
uses: actions/cache/save@main
with:
path: /builder/.ccache
key: openwrt-25.12-${{ github.event.inputs.device }}-ccache

- name: Create ccache tar files
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device == 'armv8' || github.event.inputs.device == 'nanopi-r4s' }}
continue-on-error: true
working-directory: /builder
run: |
mkdir -p ccache
tar cf - .ccache | split -d -b 1800m - ccache/${{ github.event.inputs.device }}.tar.

- name: Upload Cached (releases - ccache)
if: ${{ github.event.inputs.ccache == 'true' && github.event.inputs.device == 'armv8' || github.event.inputs.device == 'nanopi-r4s' }}
continue-on-error: true
uses: ncipollo/release-action@main
with:
name: ccache
allowUpdates: true
tag: ccache
commit: master
replacesArtifacts: true
prerelease: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: |
${{ env.build_dir }}/ccache/*

- name: Prepare Firmware Files
working-directory: /builder
run: |
mkdir -p rom info
if [ "${{ github.event.inputs.device }}" = "nanopi-r4s" ]; then
cp -a openwrt/bin/targets/rockchip/*/*.img.gz rom/
cp -a openwrt/bin/targets/rockchip/*/*-r4s.manifest info/manifest.txt
cp -a openwrt/bin/targets/rockchip/*/config.buildinfo info/config.buildinfo
cd rom && sha256sum *gz > ../info/sha256sums.txt
elif [ "${{ github.event.inputs.device }}" = "nanopi-r5s" ]; then
if [[ "${{ github.event.inputs.device }}" == nanopi-* ]]; then
cp -a openwrt/bin/targets/rockchip/*/*.img.gz rom/
cp -a openwrt/bin/targets/rockchip/*/*.manifest info/manifest.txt
cp -a openwrt/bin/targets/rockchip/*/config.buildinfo info/config.buildinfo
Expand All @@ -114,19 +218,19 @@ jobs:
fi

- name: Upload artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@main
with:
name: ${{ github.event.inputs.device }}-openwrt-${{ env.latest_release }}
path: ${{ env.WORKDIR }}/rom/*
path: ${{ env.build_dir }}/rom/*

- name: Create release
continue-on-error: true
uses: sbwml/release-action@main
uses: ncipollo/release-action@main
with:
name: OpenWrt-${{ env.latest_release }}
name: ${{ env.latest_release }}
allowUpdates: true
tag: ${{ env.latest_release }}
commit: master
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: ${{ env.WORKDIR }}/rom/*
artifacts: ${{ env.build_dir }}/rom/*
Loading