From 3207cb7588adfbcfb8fdbc7f3a4a1c3c1d09cac2 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Tue, 30 Dec 2025 20:17:25 +0100 Subject: [PATCH] fix: sync GitHub Actions workflows with local-build.sh config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Critical fixes to align CI/CD with local build configuration: Package Build Workflow (build-openwrt-packages.yml): - Add secubox-app to package list and build logic - Add luci-theme-secubox to package list and build logic - Extend artifact collection for both new packages - Update package listing in build logs Firmware Build Workflow (build-secubox-images.yml): - Add secubox-app to SecuBox core packages - Add luci-theme-secubox to base packages - Fix dnsmasq package conflict (disable dnsmasq, enable dnsmasq-full) - Disable 8 problematic packages that cause compilation failures: * crowdsec, crowdsec-firewall-bouncer (require backend compilation) * luci-app-crowdsec-dashboard (requires Go 1.23+) * netdata, netifyd (compilation issues) * luci-app-auth-guardian (not stable) * luci-app-ksm-manager (not stable) * luci-app-traffic-shaper (not stable) - Extend package copy logic for secubox-app and theme Impact: - Prevents dnsmasq package conflict build failures - Prevents compilation errors from unstable packages - Ensures secubox-app CLI tool is included in builds - Ensures cyberpunk theme is included in builds - Package count now matches: GitHub Actions (13) = local-build.sh (13) - 100% configuration alignment achieved 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/build-openwrt-packages.yml | 32 +++++++++++++- .github/workflows/build-secubox-images.yml | 45 +++++++++++++++----- 2 files changed, 66 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-openwrt-packages.yml b/.github/workflows/build-openwrt-packages.yml index 93a4253c..343c2d60 100644 --- a/.github/workflows/build-openwrt-packages.yml +++ b/.github/workflows/build-openwrt-packages.yml @@ -28,6 +28,8 @@ on: - 'luci-app-media-flow' - 'luci-app-vhost-manager' - 'luci-app-cdn-cache' + - 'secubox-app' + - 'luci-theme-secubox' openwrt_version: description: 'OpenWrt version' required: true @@ -419,11 +421,37 @@ jobs: echo " ✓ Fixed Makefile include path" fi done + + # Copy secubox-app + if [[ -d "package/secubox/secubox-app" ]]; then + echo " 📁 secubox-app" + mkdir -p sdk/package/secubox + cp -r package/secubox/secubox-app sdk/package/secubox/ + + # Update version + sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/secubox/secubox-app/Makefile" + sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/secubox/secubox-app/Makefile" + echo " ✓ Fixed version" + fi + + # Copy luci-theme-secubox + if [[ -d "luci-theme-secubox" ]]; then + echo " 📁 luci-theme-secubox" + cp -r luci-theme-secubox sdk/package/ + + # Update version + sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" "sdk/package/luci-theme-secubox/Makefile" + sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" "sdk/package/luci-theme-secubox/Makefile" + + # Fix Makefile include path for SDK environment + sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "sdk/package/luci-theme-secubox/Makefile" + echo " ✓ Fixed Makefile include path" + fi fi echo "" echo "📋 Packages in SDK:" - ls -d sdk/package/luci-app-*/ 2>/dev/null || echo "None" + ls -d sdk/package/luci-app-*/ sdk/package/secubox/secubox-app/ sdk/package/luci-theme-secubox/ 2>/dev/null || echo "None" - name: Download pre-built LuCI dependencies run: | @@ -638,6 +666,8 @@ jobs: # Also collect any SecuBox related packages find sdk/bin -name "*secubox*.${PKG_EXT}" -exec cp {} artifacts/${{ matrix.target }}/ \; 2>/dev/null || true + find sdk/bin -name "secubox-app*.${PKG_EXT}" -exec cp {} artifacts/${{ matrix.target }}/ \; 2>/dev/null || true + find sdk/bin -name "luci-theme-secubox*.${PKG_EXT}" -exec cp {} artifacts/${{ matrix.target }}/ \; 2>/dev/null || true # Count packages PKG_COUNT=$(find artifacts/${{ matrix.target }} -name "*.${PKG_EXT}" 2>/dev/null | wc -l) diff --git a/.github/workflows/build-secubox-images.yml b/.github/workflows/build-secubox-images.yml index 468d99e6..750488ec 100644 --- a/.github/workflows/build-secubox-images.yml +++ b/.github/workflows/build-secubox-images.yml @@ -206,6 +206,8 @@ jobs: mkdir -p openwrt/package/secubox PKG_COUNT=0 + + # Copy luci-app-* packages for pkg in luci-app-*/; do if [[ -d "$pkg" ]]; then PKG_NAME=$(basename "$pkg") @@ -223,6 +225,24 @@ jobs: fi done + # Copy luci-theme-secubox + if [[ -d "luci-theme-secubox" ]]; then + echo " ✅ luci-theme-secubox" + cp -r luci-theme-secubox openwrt/package/secubox/ + if [[ -f "openwrt/package/secubox/luci-theme-secubox/Makefile" ]]; then + sed -i 's|include.*luci\.mk|include $(TOPDIR)/feeds/luci/luci.mk|' "openwrt/package/secubox/luci-theme-secubox/Makefile" + echo " ✓ Fixed Makefile include path" + fi + PKG_COUNT=$((PKG_COUNT + 1)) + fi + + # Copy package/secubox/secubox-app + if [[ -d "package/secubox/secubox-app" ]]; then + echo " ✅ secubox-app" + cp -r package/secubox/secubox-app openwrt/package/secubox/ + PKG_COUNT=$((PKG_COUNT + 1)) + fi + echo "" echo "📊 Total: $PKG_COUNT SecuBox packages copied and fixed" echo "" @@ -259,7 +279,12 @@ jobs: CONFIG_PACKAGE_luci-ssl=y CONFIG_PACKAGE_luci-app-opkg=y CONFIG_PACKAGE_luci-theme-openwrt-2020=y - + CONFIG_PACKAGE_luci-theme-secubox=y + + # DNS Server (fix conflict: use dnsmasq-full only) + # CONFIG_PACKAGE_dnsmasq is not set + CONFIG_PACKAGE_dnsmasq-full=y + # Networking essentials CONFIG_PACKAGE_curl=y CONFIG_PACKAGE_wget-ssl=y @@ -295,20 +320,17 @@ jobs: run: | cd openwrt - cat >> .config << EOF + cat >> .config << 'EOF' # SecuBox packages - Core + CONFIG_PACKAGE_secubox-app=y CONFIG_PACKAGE_luci-app-secubox=y CONFIG_PACKAGE_luci-app-system-hub=y # SecuBox packages - Security & Monitoring - CONFIG_PACKAGE_crowdsec=y - CONFIG_PACKAGE_crowdsec-firewall-bouncer=y - CONFIG_PACKAGE_luci-app-crowdsec-dashboard=y - CONFIG_PACKAGE_netdata=y + # CONFIG_PACKAGE_luci-app-crowdsec-dashboard is not set (requires crowdsec backend - compile fails) CONFIG_PACKAGE_luci-app-netdata-dashboard=y # SecuBox packages - Network Intelligence - CONFIG_PACKAGE_netifyd=y CONFIG_PACKAGE_luci-app-netifyd-dashboard=y CONFIG_PACKAGE_luci-app-network-modes=y @@ -318,17 +340,20 @@ jobs: CONFIG_PACKAGE_luci-app-wireguard-dashboard=y CONFIG_PACKAGE_qrencode=y CONFIG_PACKAGE_luci-app-client-guardian=y - CONFIG_PACKAGE_luci-app-auth-guardian=y + # CONFIG_PACKAGE_luci-app-auth-guardian is not set (not stable yet) # SecuBox packages - Bandwidth & Traffic CONFIG_PACKAGE_luci-app-bandwidth-manager=y - CONFIG_PACKAGE_luci-app-traffic-shaper=y CONFIG_PACKAGE_luci-app-media-flow=y # SecuBox packages - Performance & Services CONFIG_PACKAGE_luci-app-cdn-cache=y CONFIG_PACKAGE_luci-app-vhost-manager=y - CONFIG_PACKAGE_luci-app-ksm-manager=y + + # SecuBox packages - Disabled (require compilation/not ready) + # CONFIG_PACKAGE_secubox-app-crowdsec is not set (requires Go 1.23+ - fails in firmware build) + # CONFIG_PACKAGE_luci-app-ksm-manager is not set (not stable) + # CONFIG_PACKAGE_luci-app-traffic-shaper is not set (not stable) EOF - name: Add device-specific packages