mirror of
https://github.com/openwrt-xiaomi/builder.git
synced 2026-02-09 02:37:06 +05:00
Compare commits
1 Commits
7afa0202ba
...
v24-250404
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef88a850ea |
236
.github/workflows/build.yml
vendored
236
.github/workflows/build.yml
vendored
@@ -3,32 +3,6 @@ name: build
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
use_cache:
|
|
||||||
description: 'Use cache for host tools'
|
|
||||||
required: true
|
|
||||||
default: 'false'
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- true
|
|
||||||
- false
|
|
||||||
test_build:
|
|
||||||
description: 'Test build (only spec target) '
|
|
||||||
required: true
|
|
||||||
default: 'false'
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- true
|
|
||||||
- false
|
|
||||||
target_name:
|
|
||||||
description: 'Target Name for test build'
|
|
||||||
required: false
|
|
||||||
default: 'r3d'
|
|
||||||
type: string
|
|
||||||
package_dir:
|
|
||||||
description: 'Package Dir for test build'
|
|
||||||
required: false
|
|
||||||
default: ''
|
|
||||||
type: string
|
|
||||||
fake_build:
|
fake_build:
|
||||||
description: 'Fake build'
|
description: 'Fake build'
|
||||||
required: true
|
required: true
|
||||||
@@ -44,15 +18,12 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
|
|
||||||
env:
|
env:
|
||||||
TEST_BUILD: ${{ github.event.inputs.test_build == 'true' }}
|
FAKE_BUILD: ${{ github.event.inputs.fake_build }}
|
||||||
FAKE_BUILD: ${{ github.event.inputs.fake_build == 'true' }}
|
|
||||||
TAG_SUFFIX: ${{ github.event.inputs.fake_build == 'true' && '-fake' || github.event.inputs.test_build == 'true' && '-test' || '' }}
|
|
||||||
TARGET_NAME: ${{ github.event.inputs.target_name }}
|
|
||||||
PACKAGE_DIR: ${{ github.event.inputs.package_dir }}
|
|
||||||
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
|
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
|
||||||
REPO_LNK: openwrt-xiaomi/openwrt
|
REPO_LNK: openwrt-xiaomi/openwrt
|
||||||
REPO_BRANCH: xq-24.10
|
REPO_BRANCH: xq-24.10
|
||||||
TAG_PREFIX: v24-
|
TAG_PREFIX: v24-
|
||||||
|
BUILD_ROOT: ${{ github.workspace }}/openwrt
|
||||||
DEPENDENCIES: ${{ github.workspace }}/dependencies-ubuntu.txt
|
DEPENDENCIES: ${{ github.workspace }}/dependencies-ubuntu.txt
|
||||||
TZ: UTC
|
TZ: UTC
|
||||||
DEVICE_NAME: unknown
|
DEVICE_NAME: unknown
|
||||||
@@ -74,9 +45,6 @@ jobs:
|
|||||||
fw_date: ${{ steps.gh.outputs.fw_date }}
|
fw_date: ${{ steps.gh.outputs.fw_date }}
|
||||||
fw_ver: ${{ steps.gh.outputs.fw_ver }}
|
fw_ver: ${{ steps.gh.outputs.fw_ver }}
|
||||||
is_active: ${{ steps.activity.outputs.is_active }}
|
is_active: ${{ steps.activity.outputs.is_active }}
|
||||||
test_build: ${{ env.TEST_BUILD }}
|
|
||||||
target_name: ${{ env.TARGET_NAME }}
|
|
||||||
fake_build: ${{ env.FAKE_BUILD }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Get repo data via GH API
|
- name: Get repo data via GH API
|
||||||
id: gh
|
id: gh
|
||||||
@@ -156,12 +124,6 @@ jobs:
|
|||||||
- tuf_ax4200
|
- tuf_ax4200
|
||||||
- tuf_ax6000
|
- tuf_ax6000
|
||||||
- zen-bt8
|
- zen-bt8
|
||||||
isTest:
|
|
||||||
- ${{ needs.check.outputs.test_build == 'true' }}
|
|
||||||
exclude:
|
|
||||||
- { isTest: true }
|
|
||||||
include:
|
|
||||||
- target: ${{ github.event.inputs.target_name }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Initialization environment
|
- name: Initialization environment
|
||||||
env:
|
env:
|
||||||
@@ -169,10 +131,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
sudo apt-get -qq update
|
||||||
#sudo apt-get -qq update && sudo apt-get -qq upgrade
|
#sudo apt-get -qq update && sudo apt-get -qq upgrade
|
||||||
sudo apt-get -qq install build-essential gawk flex rsync swig unzip zlib1g-dev file wget
|
sudo apt-get -qq install $(cat $DEPENDENCIES)
|
||||||
sudo apt-get -qq install libc6-dev clang bison g++ gcc-multilib g++-multilib
|
|
||||||
sudo apt-get -qq install gettext git libncurses5-dev libssl-dev python3-setuptools
|
|
||||||
sudo apt-get -qq install libc6-dev pkg-config
|
|
||||||
sudo apt-get -qq autoremove --purge
|
sudo apt-get -qq autoremove --purge
|
||||||
sudo apt-get -qq clean
|
sudo apt-get -qq clean
|
||||||
sudo timedatectl set-timezone "$TZ"
|
sudo timedatectl set-timezone "$TZ"
|
||||||
@@ -190,50 +149,35 @@ jobs:
|
|||||||
uses: actions/checkout@main
|
uses: actions/checkout@main
|
||||||
|
|
||||||
- name: Download OpenWrt sources
|
- name: Download OpenWrt sources
|
||||||
run: |
|
run: git clone --branch $REPO_BRANCH $REPO_URL.git $BUILD_ROOT
|
||||||
git clone --branch $REPO_BRANCH $REPO_URL.git openwrt
|
|
||||||
rm -rf .git
|
|
||||||
rsync -a openwrt/ ./
|
|
||||||
rm -rf openwrt
|
|
||||||
|
|
||||||
- name: Init builder
|
- name: Init builder
|
||||||
|
env:
|
||||||
|
BLDROOT: ${{ github.workspace }}
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
rsync -avq --exclude=".*" --exclude="$(basename $BUILD_ROOT)" $BLDROOT/ $BUILD_ROOT/
|
||||||
|
cd $BUILD_ROOT
|
||||||
chmod +x *.sh
|
chmod +x *.sh
|
||||||
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
|
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
|
||||||
|
|
||||||
- name: Update OpenWrt packages
|
- name: Update OpenWrt packages
|
||||||
id: update
|
id: update
|
||||||
env:
|
|
||||||
USE_CACHE: ${{ github.event.inputs.use_cache }}
|
|
||||||
run: |
|
run: |
|
||||||
./xupdate.sh -f
|
cd $BUILD_ROOT && ./xupdate.sh -f
|
||||||
mkdir -p logs
|
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
echo "status=success" >> $GITHUB_OUTPUT
|
||||||
echo "USE_CACHE=$USE_CACHE" >> $GITHUB_ENV
|
|
||||||
if [ "$USE_CACHE" = "true" ]; then
|
|
||||||
rm -rf staging_dir/
|
|
||||||
mkdir -p staging_dir/host
|
|
||||||
rm -rf build_dir/
|
|
||||||
mkdir -p build_dir/host
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Restore cache for host tools
|
- name: Build the firmware image
|
||||||
id: tools_cache_restore
|
id: compile
|
||||||
if: github.event.inputs.use_cache == 'true'
|
|
||||||
uses: actions/cache/restore@v4
|
|
||||||
with:
|
|
||||||
key: host-tools-${{ runner.os }}-${{ hashFiles('tools/**') }}
|
|
||||||
path: |
|
|
||||||
staging_dir/host
|
|
||||||
build_dir/host
|
|
||||||
|
|
||||||
- name: Configure
|
|
||||||
id: configure
|
|
||||||
if: steps.update.outputs.status == 'success'
|
if: steps.update.outputs.status == 'success'
|
||||||
env:
|
env:
|
||||||
TARGET: ${{ matrix.target }}
|
TARGET: ${{ matrix.target }}
|
||||||
FW_VER: ${{ needs.check.outputs.fw_ver }}
|
FW_VER: ${{ needs.check.outputs.fw_ver }}
|
||||||
run: |
|
run: |
|
||||||
|
cd $BUILD_ROOT
|
||||||
|
MAKE_JOBS=$(($(nproc)+1))
|
||||||
|
echo "$MAKE_JOBS thread compile"
|
||||||
|
# init build config
|
||||||
./xmake.sh -I -t $TARGET
|
./xmake.sh -I -t $TARGET
|
||||||
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
|
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
|
||||||
[ -z "$G_DEVICE_NAME" ] && exit 31
|
[ -z "$G_DEVICE_NAME" ] && exit 31
|
||||||
@@ -241,8 +185,6 @@ jobs:
|
|||||||
[ -z "$G_BOARD_NAME" ] && exit 32
|
[ -z "$G_BOARD_NAME" ] && exit 32
|
||||||
G_SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
|
G_SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
|
||||||
[ -z "$G_SUBTARGET_NAME" ] && exit 33
|
[ -z "$G_SUBTARGET_NAME" ] && exit 33
|
||||||
G_TARGET_ARCH=$( grep -so '^CONFIG_TARGET_ARCH_PACKAGES=.*' .config | cut -d'"' -f2 )
|
|
||||||
echo "G_TARGET_ARCH = $G_TARGET_ARCH"
|
|
||||||
VERMAGIC_LIST="vermagic-$G_BOARD_NAME-$G_SUBTARGET_NAME-*.list"
|
VERMAGIC_LIST="vermagic-$G_BOARD_NAME-$G_SUBTARGET_NAME-*.list"
|
||||||
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
||||||
./vermagic_update.sh $G_BOARD_NAME $G_SUBTARGET_NAME
|
./vermagic_update.sh $G_BOARD_NAME $G_SUBTARGET_NAME
|
||||||
@@ -250,108 +192,17 @@ jobs:
|
|||||||
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
||||||
exit 41
|
exit 41
|
||||||
fi
|
fi
|
||||||
FILE_DATE=$(date --utc +'%y%m%d')
|
# run build
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
[ "$FAKE_BUILD" != "true" ] && make -j $MAKE_JOBS download world
|
||||||
echo "FW_VER=$FW_VER" >> $GITHUB_ENV
|
|
||||||
echo "G_DEVICE_NAME=$G_DEVICE_NAME" >> $GITHUB_ENV
|
|
||||||
echo "G_BOARD_NAME=$G_BOARD_NAME" >> $GITHUB_ENV
|
|
||||||
echo "G_SUBTARGET_NAME=$G_SUBTARGET_NAME" >> $GITHUB_ENV
|
|
||||||
echo "G_TARGET_ARCH=$G_TARGET_ARCH" >> $GITHUB_ENV
|
|
||||||
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Dump .config file
|
|
||||||
run: |
|
|
||||||
echo "====== .config ========="
|
|
||||||
cat .config
|
|
||||||
echo "========================"
|
|
||||||
|
|
||||||
- name: Monitor memory
|
|
||||||
run: |
|
|
||||||
echo "CPU cores = $(nproc)"
|
|
||||||
echo "Memory and swap:"
|
|
||||||
sudo free -h
|
|
||||||
echo
|
|
||||||
sudo swapon --show
|
|
||||||
echo
|
|
||||||
echo "Available storage:"
|
|
||||||
sudo df -h
|
|
||||||
|
|
||||||
- name: Download sources (dl)
|
|
||||||
id: download
|
|
||||||
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
|
||||||
run: |
|
|
||||||
make -j$(nproc) download
|
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Build tools and toolchain
|
|
||||||
id: tools
|
|
||||||
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
|
||||||
run: |
|
|
||||||
make toolchain/install -j$(nproc)
|
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Save cache for host tools (use_cache = true)
|
|
||||||
id: tools_cache_save
|
|
||||||
if: steps.tools.outputs.status == 'success' && github.event.inputs.use_cache == 'true' && steps.tools_cache_restore.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/cache/save@v4
|
|
||||||
with:
|
|
||||||
key: ${{ steps.tools_cache_restore.outputs.cache-primary-key }}
|
|
||||||
path: |
|
|
||||||
staging_dir/host
|
|
||||||
build_dir/host
|
|
||||||
|
|
||||||
- name: Save cache for host tools (use_cache = false)
|
|
||||||
id: tools_cache_save_2
|
|
||||||
if: steps.tools.outputs.status == 'success' && github.event.inputs.use_cache != 'true'
|
|
||||||
uses: actions/cache/save@v4
|
|
||||||
with:
|
|
||||||
key: host-tools-${{ runner.os }}-${{ hashFiles('tools/**') }}
|
|
||||||
path: |
|
|
||||||
staging_dir/host
|
|
||||||
build_dir/host
|
|
||||||
|
|
||||||
- name: Kernel compile and install
|
|
||||||
id: kernel
|
|
||||||
if: ${{ steps.tools.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
|
|
||||||
run: |
|
|
||||||
make target/linux/install -j$(nproc)
|
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Monitor memory 2
|
|
||||||
run: |
|
|
||||||
echo "Memory and swap:"
|
|
||||||
sudo free -h
|
|
||||||
echo
|
|
||||||
sudo swapon --show
|
|
||||||
echo
|
|
||||||
echo "Available storage:"
|
|
||||||
sudo df -h
|
|
||||||
|
|
||||||
- name: Build the firmware image
|
|
||||||
id: compile
|
|
||||||
if: steps.tools.outputs.status == 'success' && steps.kernel.outputs.status == 'success'
|
|
||||||
env:
|
|
||||||
TARGET: ${{ matrix.target }}
|
|
||||||
run: |
|
|
||||||
echo "Run $(nproc) thread compile"
|
|
||||||
if [ "$FAKE_BUILD" != "true" -a "$TEST_BUILD" = "true" -a "$PACKAGE_DIR" != "" ]; then
|
|
||||||
make $PACKAGE_DIR/compile V=sc BUILD_LOG=1
|
|
||||||
exit 99
|
|
||||||
fi
|
|
||||||
if [ "$FAKE_BUILD" != "true" ]; then
|
|
||||||
if [ "$TEST_BUILD" != "true" ]; then
|
|
||||||
make -j$(nproc) world
|
|
||||||
else
|
|
||||||
make V=sc world
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# process results
|
# process results
|
||||||
OUT_DIR=bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
|
FILE_DATE=$(date --utc +'%y%m%d')
|
||||||
|
OUT_DIR=$BUILD_ROOT/bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
|
||||||
if [ "$FAKE_BUILD" = "true" ]; then
|
if [ "$FAKE_BUILD" = "true" ]; then
|
||||||
mkdir -p logs
|
mkdir -p logs
|
||||||
mkdir -p $OUT_DIR
|
mkdir -p $OUT_DIR
|
||||||
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
|
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
|
||||||
touch "$OUT_DIR/kernel-debug.tar.zst"
|
touch "$OUT_DIR/kernel-debug.tar.zst"
|
||||||
|
ls -la
|
||||||
BLD_VER=$FW_VER
|
BLD_VER=$FW_VER
|
||||||
else
|
else
|
||||||
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
|
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
|
||||||
@@ -362,40 +213,24 @@ jobs:
|
|||||||
exit 100
|
exit 100
|
||||||
fi
|
fi
|
||||||
echo "status=success" >> $GITHUB_OUTPUT
|
echo "status=success" >> $GITHUB_OUTPUT
|
||||||
echo "FW_BUILD_OK=1" >> $GITHUB_ENV
|
echo "DEVICE_NAME=$G_DEVICE_NAME" >> $GITHUB_ENV
|
||||||
|
echo "BOARD_NAME=$G_BOARD_NAME" >> $GITHUB_ENV
|
||||||
|
echo "SUBTARGET_NAME=$G_SUBTARGET_NAME" >> $GITHUB_ENV
|
||||||
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
|
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
|
||||||
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
||||||
|
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
|
||||||
- name: Mark firmware build failed
|
|
||||||
if: false # steps.compile.outcome == 'failure'
|
|
||||||
run: |
|
|
||||||
echo "Firmware build failed, continuing pipeline"
|
|
||||||
echo "FW_BUILD_OK=0" >> $GITHUB_ENV
|
|
||||||
OUT_DIR=_bin_fake
|
|
||||||
mkdir -p $OUT_DIR
|
|
||||||
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
|
|
||||||
touch "$OUT_DIR/kernel-debug.tar.zst"
|
|
||||||
echo "BUILD FAILED" > $OUT_DIR/FAILED.txt
|
|
||||||
echo "BLD_VER=$FW_VER" >> $GITHUB_ENV
|
|
||||||
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Check space usage
|
- name: Check space usage
|
||||||
run: df -hT
|
run: df -hT
|
||||||
|
|
||||||
- name: Check OOM error
|
|
||||||
if: failure()
|
|
||||||
run: |
|
|
||||||
dmesg | grep -i -E 'oom|killed process' || true
|
|
||||||
echo "================== Memory ================="
|
|
||||||
free -h
|
|
||||||
|
|
||||||
- name: Compress build logs
|
- name: Compress build logs
|
||||||
if: always()
|
if: always()
|
||||||
env:
|
env:
|
||||||
TARGET: ${{ matrix.target }}
|
TARGET: ${{ matrix.target }}
|
||||||
FW_DATE: ${{ needs.check.outputs.fw_date }}
|
FW_DATE: ${{ needs.check.outputs.fw_date }}
|
||||||
|
LOGS_DIR: ${{ env.BUILD_ROOT }}/logs
|
||||||
run: |
|
run: |
|
||||||
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz logs
|
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz $LOGS_DIR
|
||||||
|
|
||||||
- name: Cleanup OUT directory
|
- name: Cleanup OUT directory
|
||||||
if: steps.compile.outputs.status == 'success'
|
if: steps.compile.outputs.status == 'success'
|
||||||
@@ -414,13 +249,12 @@ jobs:
|
|||||||
rm -f *-preloader*
|
rm -f *-preloader*
|
||||||
rm -f *-bl31-uboot*
|
rm -f *-bl31-uboot*
|
||||||
rm -f *-initramfs-recovery*
|
rm -f *-initramfs-recovery*
|
||||||
rm -f *-bt8-factory.bin
|
|
||||||
|
|
||||||
- name: Upload OUT directory
|
- name: Upload OUT directory
|
||||||
uses: actions/upload-artifact@main
|
uses: actions/upload-artifact@main
|
||||||
if: steps.compile.outputs.status == 'success'
|
if: steps.compile.outputs.status == 'success'
|
||||||
with:
|
with:
|
||||||
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.G_DEVICE_NAME }}
|
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.DEVICE_NAME }}
|
||||||
path: ${{ env.OUT_DIR }}
|
path: ${{ env.OUT_DIR }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
@@ -444,16 +278,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
pattern: openwrt-*
|
pattern: openwrt-*
|
||||||
|
|
||||||
- name: Check for failed builds
|
|
||||||
run: |
|
|
||||||
echo "Checking for FAILED.txt in openwrt-* directories..."
|
|
||||||
FAILED_DIRS=$( find . -maxdepth 1 -type d -name 'openwrt-*' -exec test -f '{}/FAILED.txt' \; -print )
|
|
||||||
if [ -n "$FAILED_DIRS" ]; then
|
|
||||||
echo "❌ Build failures detected in:"
|
|
||||||
exit 201
|
|
||||||
fi
|
|
||||||
echo "✅ No FAILED.txt found, proceeding to release"
|
|
||||||
|
|
||||||
- name: Put images into zip
|
- name: Put images into zip
|
||||||
run: |
|
run: |
|
||||||
mkdir -p public
|
mkdir -p public
|
||||||
@@ -466,8 +290,8 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
TAG: ${{ needs.check.outputs.tag }}
|
TAG: ${{ needs.check.outputs.tag }}
|
||||||
with:
|
with:
|
||||||
prerelease: ${{ env.TEST_BUILD == 'true' || env.FAKE_BUILD == 'true' }}
|
prerelease: false
|
||||||
tag_name: ${{ needs.check.outputs.tag }}${{ env.TAG_SUFFIX }}
|
tag_name: ${{ needs.check.outputs.tag }}
|
||||||
name: '${{ needs.check.outputs.tag }}'
|
name: '${{ needs.check.outputs.tag }}'
|
||||||
body: |
|
body: |
|
||||||
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}]
|
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}]
|
||||||
|
|||||||
@@ -13,16 +13,16 @@ CONFIG_FEED__alpine_fan_control=m
|
|||||||
#GIT_PACKAGE luci-app-temp-status=https://github.com/openwrt-xiaomi/luci-app-temp-status.git master
|
#GIT_PACKAGE luci-app-temp-status=https://github.com/openwrt-xiaomi/luci-app-temp-status.git master
|
||||||
|
|
||||||
### luci-app-disks-info
|
### luci-app-disks-info
|
||||||
#GIT_PACKAGE luci-app-disks-info=https://github.com/gSpotx2f/luci-app-disks-info.git master
|
#GIT_PACKAGE luci-app-disks-info=https://github.com/openwrt-xiaomi/luci-app-disks-info.git master
|
||||||
|
|
||||||
### luci-app-diskman
|
### luci-app-diskman
|
||||||
#GIT_PACKAGE luci-app-diskman=https://github.com/lisaac/luci-app-diskman.git master
|
#GIT_PACKAGE luci-app-diskman=https://github.com/openwrt-xiaomi/luci-app-diskman.git master
|
||||||
|
|
||||||
### luci-theme-argon
|
### luci-theme-argon
|
||||||
#GIT_PACKAGE luci-theme-argon=https://github.com/jerrykuku/luci-theme-argon.git master
|
#GIT_PACKAGE luci-theme-argon=https://github.com/openwrt-xiaomi/luci-theme-argon.git master
|
||||||
|
|
||||||
### luci-app-argon-config
|
### luci-app-argon-config
|
||||||
#GIT_PACKAGE luci-app-argon-config=https://github.com/jerrykuku/luci-app-argon-config.git master
|
#GIT_PACKAGE luci-app-argon-config=https://github.com/openwrt-xiaomi/luci-app-argon-config.git master
|
||||||
|
|
||||||
### luci-app-tn-netports
|
### luci-app-tn-netports
|
||||||
#GIT_PACKAGE luci-app-tn-netports=https://github.com/openwrt-xiaomi/luci-app-tn-netports.git master
|
#GIT_PACKAGE luci-app-tn-netports=https://github.com/openwrt-xiaomi/luci-app-tn-netports.git master
|
||||||
@@ -42,15 +42,9 @@ CONFIG_FEED__alpine_fan_control=m
|
|||||||
|
|
||||||
|
|
||||||
### AmneziaWG
|
### AmneziaWG
|
||||||
#GIT_FEED _amneziawg=https://github.com/Slava-Shchipunov/awg-openwrt.git
|
#GIT_FEED _amneziawg=https://github.com/lolo6oT/awg-openwrt.git dev-24.10
|
||||||
CONFIG_FEED__amneziawg=m
|
CONFIG_FEED__amneziawg=m
|
||||||
|
|
||||||
### Zapret
|
|
||||||
#GIT_FEED _zapret=https://github.com/remittor/zapret-openwrt.git;zap1
|
|
||||||
CONFIG_FEED__zapret=m
|
|
||||||
#GIT_FEED _zapret2=https://github.com/remittor/zapret-openwrt.git;master
|
|
||||||
CONFIG_FEED__zapret2=m
|
|
||||||
|
|
||||||
### ruantiblock
|
### ruantiblock
|
||||||
#GIT_FEED _ruantiblock=https://github.com/gSpotx2f/ruantiblock_openwrt.git
|
#GIT_FEED _ruantiblock=https://github.com/gSpotx2f/ruantiblock_openwrt.git
|
||||||
CONFIG_FEED__ruantiblock=m
|
CONFIG_FEED__ruantiblock=m
|
||||||
|
|||||||
27
_base.config
27
_base.config
@@ -162,7 +162,6 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED=y
|
|||||||
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
|
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
|
||||||
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED=y
|
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED=y
|
||||||
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED=y
|
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED=y
|
||||||
CONFIG_PACKAGE_px5g-mbedtls=y
|
|
||||||
|
|
||||||
### OpenSSL lib
|
### OpenSSL lib
|
||||||
CONFIG_PACKAGE_libopenssl=y
|
CONFIG_PACKAGE_libopenssl=y
|
||||||
@@ -205,8 +204,8 @@ CONFIG_PACKAGE_luci-app-ddns=y
|
|||||||
CONFIG_PACKAGE_luci-i18n-ddns-ru=y
|
CONFIG_PACKAGE_luci-i18n-ddns-ru=y
|
||||||
CONFIG_PACKAGE_luci-app-firewall=y
|
CONFIG_PACKAGE_luci-app-firewall=y
|
||||||
CONFIG_PACKAGE_luci-i18n-firewall-ru=y
|
CONFIG_PACKAGE_luci-i18n-firewall-ru=y
|
||||||
CONFIG_PACKAGE_luci-app-package-manager=y
|
CONFIG_PACKAGE_luci-app-opkg=y
|
||||||
CONFIG_PACKAGE_luci-i18n-package-manager-ru=y
|
CONFIG_PACKAGE_luci-i18n-opkg-ru=y
|
||||||
CONFIG_PACKAGE_luci-app-uhttpd=y
|
CONFIG_PACKAGE_luci-app-uhttpd=y
|
||||||
CONFIG_PACKAGE_luci-i18n-uhttpd-ru=y
|
CONFIG_PACKAGE_luci-i18n-uhttpd-ru=y
|
||||||
CONFIG_PACKAGE_luci-app-upnp=y
|
CONFIG_PACKAGE_luci-app-upnp=y
|
||||||
@@ -218,28 +217,6 @@ CONFIG_PACKAGE_luci-theme-material=y
|
|||||||
CONFIG_PACKAGE_luci-theme-openwrt=y
|
CONFIG_PACKAGE_luci-theme-openwrt=y
|
||||||
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
|
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
|
||||||
|
|
||||||
### Luci extensions
|
|
||||||
CONFIG_PACKAGE_luci-full=y
|
|
||||||
CONFIG_PACKAGE_luci-lib-uqr=y
|
|
||||||
CONFIG_PACKAGE_luci-ssl=y
|
|
||||||
CONFIG_PACKAGE_cgi-io=y
|
|
||||||
CONFIG_PACKAGE_libiwinfo=y
|
|
||||||
CONFIG_PACKAGE_libiwinfo-data=y
|
|
||||||
CONFIG_PACKAGE_liblucihttp=y
|
|
||||||
CONFIG_PACKAGE_liblucihttp-ucode=y
|
|
||||||
CONFIG_PACKAGE_rpcd=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-file=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-luci=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-rrdns=y
|
|
||||||
CONFIG_PACKAGE_rpcd-mod-ucode=y
|
|
||||||
CONFIG_PACKAGE_ucode-mod-html=y
|
|
||||||
CONFIG_PACKAGE_ucode-mod-log=y
|
|
||||||
CONFIG_PACKAGE_ucode-mod-math=y
|
|
||||||
CONFIG_PACKAGE_uhttpd=y
|
|
||||||
CONFIG_PACKAGE_uhttpd-mod-ubus=y
|
|
||||||
|
|
||||||
### Luci menu customizer
|
### Luci menu customizer
|
||||||
CONFIG_PACKAGE_cozymenu=y
|
CONFIG_PACKAGE_cozymenu=y
|
||||||
|
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ CONFIG_PACKAGE_luci-mod-status=y
|
|||||||
CONFIG_PACKAGE_luci-mod-system=y
|
CONFIG_PACKAGE_luci-mod-system=y
|
||||||
CONFIG_PACKAGE_luci-app-commands=y
|
CONFIG_PACKAGE_luci-app-commands=y
|
||||||
CONFIG_PACKAGE_luci-i18n-commands-ru=y
|
CONFIG_PACKAGE_luci-i18n-commands-ru=y
|
||||||
CONFIG_PACKAGE_luci-app-package-manager=y
|
CONFIG_PACKAGE_luci-app-opkg=y
|
||||||
CONFIG_PACKAGE_luci-i18n-package-manager-ru=y
|
CONFIG_PACKAGE_luci-i18n-opkg-ru=y
|
||||||
|
|
||||||
### Luci themes
|
### Luci themes
|
||||||
CONFIG_PACKAGE_luci-theme-bootstrap=y
|
CONFIG_PACKAGE_luci-theme-bootstrap=y
|
||||||
|
|||||||
@@ -7,9 +7,3 @@ CONFIG_PACKAGE_luci-app-https-dns-proxy=y
|
|||||||
CONFIG_PACKAGE_luci-i18n-https-dns-proxy-ru=y
|
CONFIG_PACKAGE_luci-i18n-https-dns-proxy-ru=y
|
||||||
|
|
||||||
CONFIG_PACKAGE_igmpproxy=y
|
CONFIG_PACKAGE_igmpproxy=y
|
||||||
|
|
||||||
CONFIG_PACKAGE_zapret=y
|
|
||||||
CONFIG_PACKAGE_luci-app-zapret=y
|
|
||||||
|
|
||||||
CONFIG_PACKAGE_zapret2=y
|
|
||||||
CONFIG_PACKAGE_luci-app-zapret2=y
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ CONFIG_PACKAGE_luci-proto-wireguard=y
|
|||||||
CONFIG_PACKAGE_kmod-amneziawg=y
|
CONFIG_PACKAGE_kmod-amneziawg=y
|
||||||
CONFIG_PACKAGE_amneziawg-tools=y
|
CONFIG_PACKAGE_amneziawg-tools=y
|
||||||
CONFIG_PACKAGE_luci-proto-amneziawg=y
|
CONFIG_PACKAGE_luci-proto-amneziawg=y
|
||||||
CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y
|
|
||||||
|
|
||||||
CONFIG_PACKAGE_shadowsocks-libev-ss-local=y
|
CONFIG_PACKAGE_shadowsocks-libev-ss-local=y
|
||||||
CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y
|
CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y
|
||||||
@@ -41,4 +40,3 @@ CONFIG_PACKAGE_luci-i18n-ruantiblock-ru=y
|
|||||||
|
|
||||||
CONFIG_PACKAGE_podkop=y
|
CONFIG_PACKAGE_podkop=y
|
||||||
CONFIG_PACKAGE_luci-app-podkop=y
|
CONFIG_PACKAGE_luci-app-podkop=y
|
||||||
CONFIG_PACKAGE_luci-i18n-podkop-ru=y
|
|
||||||
|
|||||||
@@ -24,6 +24,10 @@ CONFIG_PACKAGE_hdparm=y
|
|||||||
CONFIG_PACKAGE_luci-app-tn-netports=y
|
CONFIG_PACKAGE_luci-app-tn-netports=y
|
||||||
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
|
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
|
||||||
|
|
||||||
|
### Network traffic
|
||||||
|
CONFIG_PACKAGE_luci-app-sqm=y
|
||||||
|
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
|
||||||
|
|
||||||
### TimeControl
|
### TimeControl
|
||||||
CONFIG_PACKAGE_luci-app-timecontrol=m
|
CONFIG_PACKAGE_luci-app-timecontrol=m
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ CONFIG_TARGET_ipq806x_generic_DEVICE_xiaomi_r3d=y
|
|||||||
#include _argon.config
|
#include _argon.config
|
||||||
#include _vpn.config
|
#include _vpn.config
|
||||||
|
|
||||||
#CONFIG_KERNEL_KALLSYMS=y
|
CONFIG_KERNEL_KALLSYMS=y
|
||||||
|
|
||||||
### Temp and sensors
|
### Temp and sensors
|
||||||
CONFIG_PACKAGE_lm-sensors=y
|
CONFIG_PACKAGE_lm-sensors=y
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ CONFIG_TARGET_qualcommax_ipq807x_DEVICE_asus_rt-ax89x=y
|
|||||||
#include _argon.config
|
#include _argon.config
|
||||||
#include _vpn.config
|
#include _vpn.config
|
||||||
|
|
||||||
#CONFIG_KERNEL_KALLSYMS=y
|
CONFIG_KERNEL_KALLSYMS=y
|
||||||
|
|
||||||
### Temp and sensors
|
### Temp and sensors
|
||||||
CONFIG_PACKAGE_lm-sensors=y
|
CONFIG_PACKAGE_lm-sensors=y
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ CONFIG_TARGET_qualcommax_ipq807x_DEVICE_asus_rt-ax89x=y
|
|||||||
#include _addons.config
|
#include _addons.config
|
||||||
#include _base_initrd.config
|
#include _base_initrd.config
|
||||||
|
|
||||||
#CONFIG_KERNEL_KALLSYMS=y
|
CONFIG_KERNEL_KALLSYMS=y
|
||||||
|
|
||||||
CONFIG_TARGET_INITRAMFS_FORCE=y
|
CONFIG_TARGET_INITRAMFS_FORCE=y
|
||||||
CONFIG_TARGET_ROOTFS_INITRAMFS=y
|
CONFIG_TARGET_ROOTFS_INITRAMFS=y
|
||||||
|
|||||||
42
xmake.sh
42
xmake.sh
@@ -127,33 +127,6 @@ function build_target {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AWG_KMOD_MK=$XDIR/package/feeds/_amneziawg/kmod-amneziawg/Makefile
|
|
||||||
if [ -f $AWG_KMOD_MK ]; then
|
|
||||||
if grep "876bf7571e47e349d0e86b70c244330b470d9642" $AWG_KMOD_MK >/dev/null ; then
|
|
||||||
sed -i 's/PKG_SOURCE_VERSION:=876bf7571e47e349d0e86b70c244330b470d9642/PKG_SOURCE_VERSION:=b96e12d00112dbee9d51d18d8438aa991cec0f6a/g' $AWG_KMOD_MK
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
PODKOP_MK=$XDIR/package/feeds/_podkop/podkop/Makefile
|
|
||||||
if [ -f $PODKOP_MK ]; then
|
|
||||||
sed -i 's/+sing-box / /g' $PODKOP_MK
|
|
||||||
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
|
|
||||||
fi
|
|
||||||
PODKOP_SH=$XDIR/package/feeds/_podkop/podkop/files/usr/bin/podkop
|
|
||||||
if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then
|
|
||||||
sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH
|
|
||||||
fi
|
|
||||||
|
|
||||||
DROPBEAR_MK=$XDIR/package/network/services/dropbear/Makefile
|
|
||||||
if [ -f $DROPBEAR_MK ]; then
|
|
||||||
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $DROPBEAR_MK
|
|
||||||
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $DROPBEAR_MK
|
|
||||||
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
|
||||||
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
|
||||||
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $DROPBEAR_MK
|
|
||||||
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $DROPBEAR_MK
|
|
||||||
fi
|
|
||||||
|
|
||||||
make defconfig
|
make defconfig
|
||||||
|
|
||||||
NSS_DRV_PPPOE_ENABLE=$( get_cfg_opt_flag $CFG NSS_DRV_PPPOE_ENABLE )
|
NSS_DRV_PPPOE_ENABLE=$( get_cfg_opt_flag $CFG NSS_DRV_PPPOE_ENABLE )
|
||||||
@@ -247,20 +220,7 @@ function build_target {
|
|||||||
sed -i 's/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/#\$(INSTALL_DIR) \$(1)\/usr\/__bin_sbin__/g' $NTFS3G
|
sed -i 's/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/#\$(INSTALL_DIR) \$(1)\/usr\/__bin_sbin__/g' $NTFS3G
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
XPATCHES=$XDIR/patches
|
|
||||||
for incfn in $XPATCHES/*.patch; do
|
|
||||||
[ ! -f "$incfn" ] && continue
|
|
||||||
inc=`patch -p1 -N -r - < "$incfn"`
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if ! echo "$inc" | grep -q "patch detected! Skipping patch."; then
|
|
||||||
echo "Patch '$(basename $incfn)' FAILED"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "Patch '$(basename $incfn)' result: OK"
|
|
||||||
done
|
|
||||||
|
|
||||||
OPKG_DIR=$XDIR/files/etc/opkg
|
OPKG_DIR=$XDIR/files/etc/opkg
|
||||||
if [ -d $OPKG_DIR ]; then
|
if [ -d $OPKG_DIR ]; then
|
||||||
rm -rf $OPKG_DIR
|
rm -rf $OPKG_DIR
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ if [ "$OPT_FULL_UPDATE" = "true" ]; then
|
|||||||
#rm -rf feeds
|
#rm -rf feeds
|
||||||
#rm -rf package/feeds
|
#rm -rf package/feeds
|
||||||
rm -rf staging_dir/packages
|
rm -rf staging_dir/packages
|
||||||
rm -rf feeds/_*
|
|
||||||
rm -rf $XADDONSDIR
|
rm -rf $XADDONSDIR
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ CONFIG_TARGET_mediatek_filogic_DEVICE_asus_zenwifi-bt8=y
|
|||||||
#include _argon.config
|
#include _argon.config
|
||||||
#include _vpn.config
|
#include _vpn.config
|
||||||
|
|
||||||
#CONFIG_KERNEL_KALLSYMS=y
|
CONFIG_KERNEL_KALLSYMS=y
|
||||||
|
|
||||||
### Temp and sensors
|
### Temp and sensors
|
||||||
CONFIG_PACKAGE_lm-sensors=y
|
CONFIG_PACKAGE_lm-sensors=y
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ CONFIG_TARGET_mediatek=y
|
|||||||
CONFIG_TARGET_mediatek_filogic=y
|
CONFIG_TARGET_mediatek_filogic=y
|
||||||
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_zenwifi-bt8=y
|
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_zenwifi-bt8=y
|
||||||
|
|
||||||
#CONFIG_KERNEL_KALLSYMS=y
|
CONFIG_KERNEL_KALLSYMS=y
|
||||||
|
|
||||||
#include _addons.config
|
#include _addons.config
|
||||||
#include _base_initrd.config
|
#include _base_initrd.config
|
||||||
|
|||||||
Reference in New Issue
Block a user