From eb60ecb4f2058d2c6087411a88910a15dbc8f0a0 Mon Sep 17 00:00:00 2001 From: SuperKali Date: Sat, 18 Jan 2025 17:25:23 +0000 Subject: [PATCH] Add support for Stable builds and Nightly builds --- ...er.yml => immortalwrt-builder-nightly.yml} | 12 +- .../immortalwrt-builder-selfhost.yml | 2 +- .../workflows/immortalwrt-builder-stable.yml | 200 +++++++++++ .github/workflows/immortalwrt-checker.yml | 12 +- README.md | 3 +- .config => config/nightly/.config | 0 config/stable/.config | 328 ++++++++++++++++++ templates/release-notes-template.md | 2 +- 8 files changed, 545 insertions(+), 14 deletions(-) rename .github/workflows/{immortalwrt-builder.yml => immortalwrt-builder-nightly.yml} (96%) create mode 100644 .github/workflows/immortalwrt-builder-stable.yml rename .config => config/nightly/.config (100%) create mode 100644 config/stable/.config diff --git a/.github/workflows/immortalwrt-builder.yml b/.github/workflows/immortalwrt-builder-nightly.yml similarity index 96% rename from .github/workflows/immortalwrt-builder.yml rename to .github/workflows/immortalwrt-builder-nightly.yml index a0cad80..37aece5 100644 --- a/.github/workflows/immortalwrt-builder.yml +++ b/.github/workflows/immortalwrt-builder-nightly.yml @@ -1,16 +1,16 @@ # # https://github.com/P3TERX/Actions-OpenWrt # -# File: .github/workflows/immortalwrt-builder.yml +# File: .github/workflows/immortalwrt-builder-nightly.yml # Description: Build ImmortalWRT using GitHub Actions # # Copyright (c) 2019-2024 P3TERX -# Copyright (c) 2024 SuperKali +# Copyright (c) 2024-2025 SuperKali # # This is free software, licensed under the MIT License. # See /LICENSE for more information. -name: BananaWRT Builder +name: BananaWRT Builder (Nightly) on: repository_dispatch: workflow_dispatch: @@ -21,7 +21,7 @@ env: REPO_URL: https://github.com/immortalwrt/immortalwrt REPO_BRANCH: 24.10.0-rc3 FEEDS_CONF: feeds.conf.default - CONFIG_FILE: .config + CONFIG_FILE: config/nightly/.config DIY_P1_SH: diy-part1.sh DIY_P2_SH: diy-part2.sh UPLOAD_BIN_DIR: false @@ -159,8 +159,10 @@ jobs: release_date=$(date +'%Y.%m.%d-%H%M') kernel_version=$(find ${{ runner.workspace }}/immortalwrt/build_dir/target-*/linux-*/ -type d -regex '.*/linux-[0-9]+\.[0-9]+.*' | head -n 1 | sed -E 's|.*/linux-||') target_devices=$(grep '^CONFIG_TARGET.*DEVICE.*=y' ${{ runner.workspace }}/immortalwrt/.config | sed -r 's/.*DEVICE_(.*)=y/\1/') - + release_type='Nightly' + sed -e "s|{{BANANAWRT_KERNEL}}|${kernel_version}|g" \ + -e "s|{{RELEASE_TYPE}}|${release_type}|g" \ -e "s|{{BANANAWRT_VERSION}}|${REPO_BRANCH}|g" \ -e "s|{{RELEASE_DATE}}|$(date '+%Y-%m-%d %H:%M:%S')|g" \ -e "s|{{TARGET_DEVICES}}|${target_devices}|g" \ diff --git a/.github/workflows/immortalwrt-builder-selfhost.yml b/.github/workflows/immortalwrt-builder-selfhost.yml index 3353c67..bff5bd8 100644 --- a/.github/workflows/immortalwrt-builder-selfhost.yml +++ b/.github/workflows/immortalwrt-builder-selfhost.yml @@ -5,7 +5,7 @@ # Description: Build ImmortalWRT (Self Hosted) using GitHub Actions # # Copyright (c) 2019-2024 P3TERX -# Copyright (c) 2024 SuperKali +# Copyright (c) 2024-2025 SuperKali # # This is free software, licensed under the MIT License. # See /LICENSE for more information. diff --git a/.github/workflows/immortalwrt-builder-stable.yml b/.github/workflows/immortalwrt-builder-stable.yml new file mode 100644 index 0000000..077268f --- /dev/null +++ b/.github/workflows/immortalwrt-builder-stable.yml @@ -0,0 +1,200 @@ +# +# https://github.com/P3TERX/Actions-OpenWrt +# +# File: .github/workflows/immortalwrt-builder-stable.yml +# Description: Build ImmortalWRT using GitHub Actions +# +# Copyright (c) 2019-2024 P3TERX +# Copyright (c) 2024-2025 SuperKali +# +# This is free software, licensed under the MIT License. +# See /LICENSE for more information. + +name: BananaWRT Builder (Stable) +on: + repository_dispatch: + workflow_dispatch: + schedule: + - cron: 0 0 1 * * + +env: + REPO_URL: https://github.com/immortalwrt/immortalwrt + REPO_BRANCH: 24.10.0-rc3 + FEEDS_CONF: feeds.conf.default + CONFIG_FILE: config/stable/.config + DIY_P1_SH: diy-part1.sh + DIY_P2_SH: diy-part2.sh + UPLOAD_BIN_DIR: false + UPLOAD_FIRMWARE: true + UPLOAD_RELEASE: true + TZ: Europe/Rome + +jobs: + build: + runs-on: ubuntu-22.04 + steps: + - name: Checkout Source Code + uses: actions/checkout@v4.2.2 + + - name: Set Up Build Environment + env: + DEBIAN_FRONTEND: noninteractive + run: | + sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL + sudo docker image prune --all --force + sudo apt-get -qq update + sudo apt-get -qq install -y \ + ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ + bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext \ + gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386 \ + libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev \ + libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \ + libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch \ + pkgconf python2.7 python3 python3-pyelftools python3-setuptools qemu-utils \ + rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \ + vim wget xmlto xxd zlib1g-dev + sudo apt-get -qq autoremove --purge -y + sudo apt-get -qq clean + + - name: Set timezone on the host + run: sudo timedatectl set-timezone "$TZ" || echo "Failed to set timezone, proceeding anyway." + + - name: Authenticate GitHub + env: + GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + echo "machine github.com login ${{ secrets.PERSONAL_ACCESS_TOKEN }}" > ~/.netrc + chmod 600 ~/.netrc + + - name: Clone ImmortalWRT Repository + working-directory: ${{ runner.workspace }} + run: | + git clone $REPO_URL -b v"$REPO_BRANCH" immortalwrt + + - name: Apply Custom Feeds Configuration + run: | + [ -e ${{ env.FEEDS_CONF }} ] && mv ${{ env.FEEDS_CONF }} ${{ runner.workspace }}/immortalwrt/feeds.conf.default + chmod +x ${{ env.DIY_P1_SH }} + cd ${{ runner.workspace }}/immortalwrt + $GITHUB_WORKSPACE/${{ env.DIY_P1_SH }} + + - name: Add Custom DTS Files + run: | + cp -r dts/* ${{ runner.workspace }}/immortalwrt/target/linux/mediatek/dts/ + + - name: Update Package Feeds + run: | + cd ${{ runner.workspace }}/immortalwrt + ./scripts/feeds update -a + + - name: Install Package Feeds + run: | + cd ${{ runner.workspace }}/immortalwrt + ./scripts/feeds install -a + + - name: Apply Custom Configuration + run: | + [ -e files ] && mv files ${{ runner.workspace }}/immortalwrt/files + [ -e ${{ env.CONFIG_FILE }} ] && mv ${{ env.CONFIG_FILE }} ${{ runner.workspace }}/immortalwrt/.config + chmod +x ${{ env.DIY_P2_SH }} + cd ${{ runner.workspace }}/immortalwrt + $GITHUB_WORKSPACE/${{ env.DIY_P2_SH }} + ./scripts/feeds install -p additional_pack -a + + - name: Diffconfig with current configuration + run: | + cd ${{ runner.workspace }}/immortalwrt + ./scripts/diffconfig.sh > diffconfig + curl https://downloads.immortalwrt.org/releases/$REPO_BRANCH/targets/mediatek/filogic/config.buildinfo + cat diffconfig >> config.buildinfo + mv config.buildinfo .config + [ -n "$REPO_BRANCH" ] && sed -i \ + -e 's|^CONFIG_VERSION_REPO=.*|CONFIG_VERSION_REPO="https://downloads.immortalwrt.org/releases/'"$REPO_BRANCH"'"|g' \ + .config + + + - name: Download Required Packages + run: | + cd ${{ runner.workspace }}/immortalwrt + make defconfig + make download -j$(nproc) + find dl -size -1024c -exec ls -l {} \; + find dl -size -1024c -exec rm -f {} \; + + - name: Build Firmware + run: | + cd ${{ runner.workspace }}/immortalwrt + make -j$(nproc) || make -j1 V=s + grep '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' > DEVICE_NAME + echo "FILE_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_ENV + + - name: Check Disk Usage + run: df -hT + + - name: Upload Binary Files + if: env.UPLOAD_BIN_DIR == 'true' + uses: actions/upload-artifact@v4.5.0 + with: + name: BananaWRT_bin${{ env.FILE_DATE }} + path: ${{ runner.workspace }}/immortalwrt/bin + + - name: Prepare Firmware for Upload + run: | + cd ${{ runner.workspace }}/immortalwrt/bin/targets/*/* + rm -rf packages + echo "FIRMWARE=$PWD" >> $GITHUB_ENV + + - name: Upload Firmware Files + if: env.UPLOAD_FIRMWARE == 'true' + uses: actions/upload-artifact@v4.5.0 + with: + name: BananaWRT_firmware${{ env.FILE_DATE }} + path: ${{ env.FIRMWARE }} + + - name: Create Release Tag + if: env.UPLOAD_RELEASE == 'true' + run: | + release_date=$(date +'%Y.%m.%d-%H%M') + kernel_version=$(find ${{ runner.workspace }}/immortalwrt/build_dir/target-*/linux-*/ -type d -regex '.*/linux-[0-9]+\.[0-9]+.*' | head -n 1 | sed -E 's|.*/linux-||') + target_devices=$(grep '^CONFIG_TARGET.*DEVICE.*=y' ${{ runner.workspace }}/immortalwrt/.config | sed -r 's/.*DEVICE_(.*)=y/\1/') + release_type='Stable' + + sed -e "s|{{BANANAWRT_KERNEL}}|${kernel_version}|g" \ + -e "s|{{RELEASE_TYPE}}|${release_type}|g" \ + -e "s|{{BANANAWRT_VERSION}}|${REPO_BRANCH}|g" \ + -e "s|{{RELEASE_DATE}}|$(date '+%Y-%m-%d %H:%M:%S')|g" \ + -e "s|{{TARGET_DEVICES}}|${target_devices}|g" \ + templates/release-notes-template.md > release.txt + + echo "release_tag=${release_date}" >> $GITHUB_ENV + + - name: Publish Firmware Release + if: env.UPLOAD_RELEASE == 'true' + uses: softprops/action-gh-release@v2.1.0 + with: + tag_name: ${{ env.release_tag }} + body_path: release.txt + files: ${{ env.FIRMWARE }}/* + + - name: Remove old Releases + uses: dev-drprasad/delete-older-releases@v0.3.4 + if: env.UPLOAD_RELEASE == 'true' && !cancelled() + with: + keep_latest: 7 + delete_tags: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@v2.0.6 + with: + retain_days: 0 + keep_minimum_runs: 7 + + - name: Cleanup Workspace + if: always() + run: | + sudo rm -rf ~/.netrc + sudo rm -rf "${{ runner.workspace }}/immortalwrt" diff --git a/.github/workflows/immortalwrt-checker.yml b/.github/workflows/immortalwrt-checker.yml index 22d6fd5..b79c7d5 100644 --- a/.github/workflows/immortalwrt-checker.yml +++ b/.github/workflows/immortalwrt-checker.yml @@ -1,7 +1,7 @@ # File: .github/workflows/immortalwrt-checker.yml # Description: Bump ImmortalWRT Version using GitHub Actions # -# Copyright (c) 2024 SuperKali +# Copyright (c) 2024-2025 SuperKali # # This is free software, licensed under the MIT License. # See /LICENSE for more information. @@ -45,7 +45,7 @@ jobs: exit 1 fi files_to_update=() - for file in .github/workflows/immortalwrt-builder*.yml; do + for file in .github/workflows/immortalwrt-builder*{selfhost,nightly}*.yml; do if [ -f "$file" ]; then file_version=$(grep -m 1 'REPO_BRANCH:' "$file" | awk -F': ' '{if (NF > 1) {gsub(/^ +| +$/, "", $2); print $2}}') if [ "$file_version" != "${{ env.latest_version }}" ]; then @@ -81,7 +81,7 @@ jobs: id: check_config_repo run: | latest_repo="https://downloads.immortalwrt.org/releases/${{ env.latest_version }}" - current_repo=$(grep -oP '^CONFIG_VERSION_REPO=\K.*' .config) + current_repo=$(grep -oP '^CONFIG_VERSION_REPO=\K.*' config/nightly/.config) if [ "$current_repo" != "\"$latest_repo\"" ]; then echo "CONFIG_VERSION_REPO in .config needs update: $current_repo -> $latest_repo" echo "config_repo_needs_update=true" >> $GITHUB_ENV @@ -94,7 +94,7 @@ jobs: if: env.config_repo_needs_update == 'true' run: | latest_repo="https://downloads.immortalwrt.org/releases/${{ env.latest_version }}" - sed -i 's|^CONFIG_VERSION_REPO=.*|CONFIG_VERSION_REPO="'"$latest_repo"'"|g' .config + sed -i 's|^CONFIG_VERSION_REPO=.*|CONFIG_VERSION_REPO="'"$latest_repo"'"|g' config/nightly/.config echo "Updated CONFIG_VERSION_REPO in .config to $latest_repo." - name: Check VERSION in scripts/update-script.sh @@ -138,8 +138,8 @@ jobs: - Updated `VERSION` in `scripts/update-script.sh`. {% endif %} - Labels: bump, immortalwrt, v${{ env.latest_version }} - labels: bump, immortalwrt, v${{ env.latest_version }} + Labels: bump, immortalwrt, nightly, v${{ env.latest_version }} + labels: bump, immortalwrt, nightly, v${{ env.latest_version }} - name: Delete workflow runs uses: Mattraks/delete-workflow-runs@v2.0.6 diff --git a/README.md b/README.md index aff04f9..740c36c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ BananaWRT Logo

BananaWRT

- [![Builder](https://img.shields.io/github/actions/workflow/status/SuperKali/BananaWRT/immortalwrt-builder.yml?label=Builder&style=for-the-badge&logo=github)](https://github.com/SuperKali/BananaWRT/actions/workflows/immortalwrt-builder.yml) + [![Stable](https://img.shields.io/github/actions/workflow/status/SuperKali/BananaWRT/immortalwrt-builder-stable.yml?label=Stable&style=for-the-badge&logo=github)](https://github.com/SuperKali/BananaWRT/actions/workflows/immortalwrt-builder-stable.yml) + [![Nightly](https://img.shields.io/github/actions/workflow/status/SuperKali/BananaWRT/immortalwrt-builder-nightly.yml?label=Nightly&style=for-the-badge&logo=github)](https://github.com/SuperKali/BananaWRT/actions/workflows/immortalwrt-builder-nightly.yml) [![Checker](https://img.shields.io/github/actions/workflow/status/SuperKali/BananaWRT/immortalwrt-checker.yml?label=Checker&style=for-the-badge&logo=github)](https://github.com/SuperKali/BananaWRT/actions/workflows/immortalwrt-checker.yml) diff --git a/.config b/config/nightly/.config similarity index 100% rename from .config rename to config/nightly/.config diff --git a/config/stable/.config b/config/stable/.config new file mode 100644 index 0000000..cba4cec --- /dev/null +++ b/config/stable/.config @@ -0,0 +1,328 @@ +CONFIG_TARGET_mediatek=y +CONFIG_TARGET_mediatek_filogic=y +CONFIG_TARGET_mediatek_filogic_DEVICE_bananapi_bpi-r3-mini=y +CONFIG_ALL_KMODS=y +CONFIG_ALL_NONSHARED=y +CONFIG_DEVEL=y +CONFIG_AUTOREMOVE=y +CONFIG_BPF_TOOLCHAIN_BUILD_LLVM=y +# CONFIG_BPF_TOOLCHAIN_NONE is not set +CONFIG_BUILDBOT=y +CONFIG_BUILD_LOG=y +CONFIG_COLLECT_KERNEL_DEBUG=y +CONFIG_DWARVES=y +# CONFIG_FEED_additional_pack is not set +CONFIG_GENSIO_PTHREADS=y +CONFIG_HAS_BPF_TOOLCHAIN=y +CONFIG_HTOP_LMSENSORS=y +CONFIG_IMAGEOPT=y +CONFIG_JSON_CYCLONEDX_SBOM=y +CONFIG_KERNEL_ARM_PMU=y +CONFIG_KERNEL_BPF_EVENTS=y +CONFIG_KERNEL_BPF_STREAM_PARSER=y +CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y +CONFIG_KERNEL_BUILD_DOMAIN="buildbot.infra.immortalwrt.org" +CONFIG_KERNEL_BUILD_USER="buildbot" +CONFIG_KERNEL_CIFS_ACL=y +CONFIG_KERNEL_DEBUG_INFO_BTF=y +CONFIG_KERNEL_DEBUG_INFO_BTF_MODULES=y +# CONFIG_KERNEL_DEBUG_INFO_REDUCED is not set +CONFIG_KERNEL_EXT4_FS_POSIX_ACL=y +CONFIG_KERNEL_EXT4_FS_SECURITY=y +CONFIG_KERNEL_F2FS_FS_POSIX_ACL=y +CONFIG_KERNEL_F2FS_FS_SECURITY=y +CONFIG_KERNEL_FS_POSIX_ACL=y +CONFIG_KERNEL_FTRACE=y +CONFIG_KERNEL_HFSPLUS_FS_POSIX_ACL=y +CONFIG_KERNEL_HFS_FS_POSIX_ACL=y +CONFIG_KERNEL_JFFS2_FS_POSIX_ACL=y +CONFIG_KERNEL_JFFS2_FS_SECURITY=y +CONFIG_KERNEL_JFS_POSIX_ACL=y +CONFIG_KERNEL_KPROBES=y +CONFIG_KERNEL_KPROBE_EVENTS=y +CONFIG_KERNEL_MODULE_ALLOW_BTF_MISMATCH=y +CONFIG_KERNEL_NET_L3_MASTER_DEV=y +CONFIG_KERNEL_NFS_ACL_SUPPORT=y +CONFIG_KERNEL_PERF_EVENTS=y +CONFIG_KERNEL_REISER_FS_POSIX_ACL=y +CONFIG_KERNEL_TMPFS_POSIX_ACL=y +CONFIG_KERNEL_UBIFS_FS_SECURITY=y +CONFIG_KERNEL_XDP_SOCKETS=y +CONFIG_KERNEL_XFS_POSIX_ACL=y +CONFIG_LIBCURL_COOKIES=y +CONFIG_LIBCURL_CRYPTO_AUTH=y +CONFIG_LIBCURL_FILE=y +CONFIG_LIBCURL_FTP=y +CONFIG_LIBCURL_HTTP=y +CONFIG_LIBCURL_NGHTTP2=y +CONFIG_LIBCURL_OPENSSL=y +CONFIG_LIBCURL_PROXY=y +CONFIG_LIBCURL_TFTP=y +CONFIG_LIBCURL_THREADED_RESOLVER=y +CONFIG_LIBCURL_TLS_SRP=y +CONFIG_LIBCURL_UNIX_SOCKETS=y +CONFIG_LIBQMI_COLLECTION_BASIC=y +CONFIG_LIBQMI_WITH_MBIM_QMUX=y +CONFIG_LIBQMI_WITH_QRTR_GLIB=y +CONFIG_LPAC_WITH_AT=y +CONFIG_LPAC_WITH_UQMI=y +# CONFIG_LUCI_LANG_zh_Hans is not set +CONFIG_MAKE_TOOLCHAIN=y +CONFIG_MBEDTLS_AES_C=y +CONFIG_MBEDTLS_ARMV8CE_AES_C=y +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_DES_C=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256=y +CONFIG_MBEDTLS_GCM_C=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y +CONFIG_MBEDTLS_NIST_KW_C=y +CONFIG_MBEDTLS_RSA_NO_CRT=y +CONFIG_MODEMMANAGER_WITH_MBIM=y +CONFIG_MODEMMANAGER_WITH_QMI=y +CONFIG_MODEMMANAGER_WITH_QRTR=y +# CONFIG_NODEJS_18 is not set +CONFIG_NODEJS_20=y +# CONFIG_OPENSSL_ENGINE_BUILTIN is not set +CONFIG_PACKAGE_6rd=y +CONFIG_PACKAGE_6to4=y +CONFIG_PACKAGE_adb=y +CONFIG_PACKAGE_atc-fib-fm350_gl=y +CONFIG_PACKAGE_atm-aread=m +CONFIG_PACKAGE_atm-atmaddr=m +CONFIG_PACKAGE_atm-atmdiag=m +CONFIG_PACKAGE_atm-atmdump=m +CONFIG_PACKAGE_atm-atmloop=m +CONFIG_PACKAGE_atm-atmsigd=m +CONFIG_PACKAGE_atm-atmswitch=m +CONFIG_PACKAGE_atm-atmtcp=m +CONFIG_PACKAGE_atm-awrite=m +CONFIG_PACKAGE_atm-bus=m +CONFIG_PACKAGE_atm-debug-tools=m +CONFIG_PACKAGE_atm-diagnostics=m +CONFIG_PACKAGE_atm-esi=m +CONFIG_PACKAGE_atm-ilmid=m +CONFIG_PACKAGE_atm-ilmidiag=m +CONFIG_PACKAGE_atm-lecs=m +CONFIG_PACKAGE_atm-les=m +CONFIG_PACKAGE_atm-mpcd=m +CONFIG_PACKAGE_atm-saaldump=m +CONFIG_PACKAGE_atm-sonetdiag=m +CONFIG_PACKAGE_atm-svc_recv=m +CONFIG_PACKAGE_atm-svc_send=m +CONFIG_PACKAGE_atm-tools=m +CONFIG_PACKAGE_atm-ttcp_atm=m +CONFIG_PACKAGE_atm-zeppelin=m +CONFIG_PACKAGE_attendedsysupgrade-common=y +CONFIG_PACKAGE_bc=y +CONFIG_PACKAGE_br2684ctl=m +CONFIG_PACKAGE_bridger=y +CONFIG_PACKAGE_chat=y +CONFIG_PACKAGE_collectd=y +CONFIG_PACKAGE_collectd-mod-cpu=y +CONFIG_PACKAGE_collectd-mod-interface=y +CONFIG_PACKAGE_collectd-mod-iwinfo=y +CONFIG_PACKAGE_collectd-mod-load=y +CONFIG_PACKAGE_collectd-mod-memory=y +CONFIG_PACKAGE_collectd-mod-network=y +CONFIG_PACKAGE_collectd-mod-openvpn=y +CONFIG_PACKAGE_collectd-mod-ping=y +CONFIG_PACKAGE_collectd-mod-rrdtool=y +CONFIG_PACKAGE_collectd-mod-sensors=y +CONFIG_PACKAGE_collectd-mod-wireless=y +CONFIG_PACKAGE_comgt=y +CONFIG_PACKAGE_curl=y +CONFIG_PACKAGE_dbus=y +# CONFIG_PACKAGE_default-settings-chn is not set +CONFIG_PACKAGE_glib2=y +CONFIG_PACKAGE_htop=y +CONFIG_PACKAGE_ip-tiny=y +CONFIG_PACKAGE_iperf3=y +CONFIG_PACKAGE_irqbalance=y +CONFIG_PACKAGE_kmod-crypto-kpp=y +CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y +CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y +CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y +CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y +CONFIG_PACKAGE_kmod-nvme=m +CONFIG_PACKAGE_kmod-sched-act-vlan=y +CONFIG_PACKAGE_kmod-sched-bpf=y +CONFIG_PACKAGE_kmod-sched-core=y +CONFIG_PACKAGE_kmod-sched-flower=y +CONFIG_PACKAGE_kmod-udptunnel4=y +CONFIG_PACKAGE_kmod-udptunnel6=y +CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=m +CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=m +CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=m +CONFIG_PACKAGE_kmod-usb-net-rndis=y +CONFIG_PACKAGE_kmod-usb-wdm=m +CONFIG_PACKAGE_kmod-vrf=m +CONFIG_PACKAGE_kmod-wireguard=y +CONFIG_PACKAGE_kmod-xdp-sockets-diag=m +CONFIG_PACKAGE_kselftests-bpf=m +CONFIG_PACKAGE_libatomic=y +CONFIG_PACKAGE_libattr=y +CONFIG_PACKAGE_libbfd=m +CONFIG_PACKAGE_libbpf=y +CONFIG_PACKAGE_libbz2=m +CONFIG_PACKAGE_libcap=y +CONFIG_PACKAGE_libctf=m +CONFIG_PACKAGE_libcurl=y +CONFIG_PACKAGE_libdbus=y +CONFIG_PACKAGE_libdw=m +CONFIG_PACKAGE_libelf=y +CONFIG_PACKAGE_libevdev=y +CONFIG_PACKAGE_libexpat=y +CONFIG_PACKAGE_libffi=y +CONFIG_PACKAGE_libgd=y +CONFIG_PACKAGE_libgensio=y +CONFIG_PACKAGE_libiperf3=y +CONFIG_PACKAGE_libjpeg-turbo=y +CONFIG_PACKAGE_libkmod=y +CONFIG_PACKAGE_libltdl=y +CONFIG_PACKAGE_libmbedtls=y +CONFIG_PACKAGE_libmbim=y +CONFIG_PACKAGE_libmount=y +CONFIG_PACKAGE_libncurses=y +CONFIG_PACKAGE_libnghttp2=y +CONFIG_PACKAGE_libopcodes=m +CONFIG_PACKAGE_libopenssl-devcrypto=y +CONFIG_PACKAGE_liboping=y +CONFIG_PACKAGE_libpcap=y +CONFIG_PACKAGE_libpci=y +CONFIG_PACKAGE_libpcre=y +CONFIG_PACKAGE_libpcre2=y +CONFIG_PACKAGE_libpcsclite=y +CONFIG_PACKAGE_libpng=y +CONFIG_PACKAGE_libqmi=y +CONFIG_PACKAGE_libqrtr-glib=y +CONFIG_PACKAGE_libreadline=y +CONFIG_PACKAGE_librrd1=y +CONFIG_PACKAGE_libsensors=y +CONFIG_PACKAGE_libsmartcols=y +CONFIG_PACKAGE_libsqlite3=y +CONFIG_PACKAGE_libstdcpp=y +CONFIG_PACKAGE_libsysfs=y +CONFIG_PACKAGE_libtraceevent=m +CONFIG_PACKAGE_libudev-zero=y +CONFIG_PACKAGE_libusb-1.0=y +CONFIG_PACKAGE_libustream-mbedtls=m +CONFIG_PACKAGE_libuv=y +CONFIG_PACKAGE_libwebp=y +CONFIG_PACKAGE_libwebsockets-full=y +CONFIG_PACKAGE_libxdp=m +CONFIG_PACKAGE_libyaml=y +CONFIG_PACKAGE_linkup-optimization=y +CONFIG_PACKAGE_linux-atm=m +CONFIG_PACKAGE_lm-sensors=y +CONFIG_PACKAGE_lpac=y +CONFIG_PACKAGE_lsblk=y +CONFIG_PACKAGE_luci-app-3ginfo-lite=y +CONFIG_PACKAGE_luci-app-attendedsysupgrade=y +CONFIG_PACKAGE_luci-app-lite-watchdog=y +CONFIG_PACKAGE_luci-app-modemband=y +CONFIG_PACKAGE_luci-app-openvpn=y +CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=y +CONFIG_PACKAGE_luci-app-ser2net=y +CONFIG_PACKAGE_luci-app-sms-tool-js=y +CONFIG_PACKAGE_luci-app-statistics=y +CONFIG_PACKAGE_luci-app-ttyd=y +CONFIG_PACKAGE_luci-app-usteer=y +CONFIG_PACKAGE_luci-app-vnstat2=y +CONFIG_PACKAGE_luci-app-wifischedule=y +# CONFIG_PACKAGE_luci-i18n-base-zh-cn is not set +# CONFIG_PACKAGE_luci-i18n-firewall-zh-cn is not set +# CONFIG_PACKAGE_luci-i18n-opkg-zh-cn is not set +CONFIG_PACKAGE_luci-mod-dashboard=y +CONFIG_PACKAGE_luci-proto-atc=y +# CONFIG_PACKAGE_luci-proto-mbim is not set +CONFIG_PACKAGE_luci-proto-modemmanager=y +# CONFIG_PACKAGE_luci-proto-qmi is not set +CONFIG_PACKAGE_luci-proto-wireguard=y +CONFIG_PACKAGE_luci-ssl-openssl=y +CONFIG_PACKAGE_luci-theme-openwrt-2020=y +CONFIG_PACKAGE_modemband=y +CONFIG_PACKAGE_modemmanager=y +CONFIG_PACKAGE_mtr-json=y +CONFIG_PACKAGE_musl-fts=m +CONFIG_PACKAGE_nano=y +CONFIG_PACKAGE_nload=y +CONFIG_PACKAGE_nmap=y +CONFIG_PACKAGE_objdump=m +CONFIG_PACKAGE_openssl-util=y +CONFIG_PACKAGE_pciids=y +CONFIG_PACKAGE_pciutils=y +CONFIG_PACKAGE_pcscd=y +CONFIG_PACKAGE_perf=m +CONFIG_PACKAGE_picocom=y +CONFIG_PACKAGE_px5g-mbedtls=y +CONFIG_PACKAGE_qosify=m +CONFIG_PACKAGE_resize2fs=y +CONFIG_PACKAGE_resolveip=y +CONFIG_PACKAGE_rpcd-mod-rpcsys=y +CONFIG_PACKAGE_rrdtool1=y +CONFIG_PACKAGE_rt61-pci-firmware=m +CONFIG_PACKAGE_rt73-usb-firmware=m +CONFIG_PACKAGE_rtl8851be-firmware=m +CONFIG_PACKAGE_rtl8852ae-firmware=m +CONFIG_PACKAGE_rtl8852be-firmware=m +CONFIG_PACKAGE_rtl8852ce-firmware=m +CONFIG_PACKAGE_ser2net=y +CONFIG_PACKAGE_sms-tool=y +CONFIG_PACKAGE_speedtest-ookla=y +CONFIG_PACKAGE_sysfsutils=y +CONFIG_PACKAGE_tc-tiny=m +CONFIG_PACKAGE_tcpdump=y +CONFIG_PACKAGE_terminfo=y +CONFIG_PACKAGE_ttyd=y +CONFIG_PACKAGE_umbim=m +CONFIG_PACKAGE_uqmi=m +CONFIG_PACKAGE_usb-modeswitch=y +CONFIG_PACKAGE_usbids=y +CONFIG_PACKAGE_usbutils=y +CONFIG_PACKAGE_usteer=y +CONFIG_PACKAGE_vim=y +CONFIG_PACKAGE_vnstat2=y +CONFIG_PACKAGE_vnstati2=y +CONFIG_PACKAGE_wget-ssl=y +CONFIG_PACKAGE_wifischedule=y +CONFIG_PACKAGE_wireguard-tools=y +CONFIG_PACKAGE_wwan=m +CONFIG_PACKAGE_xdp-filter=m +CONFIG_PACKAGE_xdp-loader=m +CONFIG_PACKAGE_xdpdump=m +CONFIG_PACKAGE_zlib=y +CONFIG_REPRODUCIBLE_DEBUG_INFO=y +CONFIG_SQLITE3_COLUMN_METADATA=y +CONFIG_SQLITE3_DYNAMIC_EXTENSIONS=y +CONFIG_SQLITE3_FTS3=y +CONFIG_SQLITE3_FTS4=y +CONFIG_SQLITE3_FTS5=y +CONFIG_SQLITE3_RTREE=y +CONFIG_TARGET_ROOTFS_PARTSIZE=7100 +CONFIG_USE_FS_ACL_ATTR=y +CONFIG_USE_LLVM_BUILD=y +CONFIG_VERSIONOPT=y +CONFIG_VERSION_BUG_URL="" +CONFIG_VERSION_CODE="" +CONFIG_VERSION_DIST="ImmortalWrt" +CONFIG_VERSION_FILENAMES=y +CONFIG_VERSION_HOME_URL="" +CONFIG_VERSION_HWREV="" +CONFIG_VERSION_MANUFACTURER="" +CONFIG_VERSION_MANUFACTURER_URL="" +CONFIG_VERSION_NUMBER="" +CONFIG_VERSION_PRODUCT="" +CONFIG_VERSION_REPO="https://downloads.immortalwrt.org/releases/24.10.0-rc3" +CONFIG_VERSION_SUPPORT_URL="" +# CONFIG_IB is not set +CONFIG_PACKAGE_default-settings=y +# CONFIG_SDK is not set +# CONFIG_SDK_LLVM_BPF is not set diff --git a/templates/release-notes-template.md b/templates/release-notes-template.md index d7e5c31..0db8d4a 100644 --- a/templates/release-notes-template.md +++ b/templates/release-notes-template.md @@ -3,7 +3,7 @@ BananaWRT Logo

-

BananaWRT Release

+

BananaWRT {{RELEASE_TYPE}} Release

- 🕛 **Date**: {{RELEASE_DATE}} - 🛜 **Target Devices:** {{TARGET_DEVICES}}