From d5a88afe3e4e70d5a3a47a317f6cfa3c5986290c Mon Sep 17 00:00:00 2001 From: klever1988 <56048681+klever1988@users.noreply.github.com> Date: Thu, 6 Aug 2020 05:56:35 +0800 Subject: [PATCH] Create r2s_lean_minimal-test.yml --- .github/workflows/r2s_lean_minimal-test.yml | 240 ++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 .github/workflows/r2s_lean_minimal-test.yml diff --git a/.github/workflows/r2s_lean_minimal-test.yml b/.github/workflows/r2s_lean_minimal-test.yml new file mode 100644 index 0000000..f2532e7 --- /dev/null +++ b/.github/workflows/r2s_lean_minimal-test.yml @@ -0,0 +1,240 @@ +name: r2s Lean版openwrt minimal + +on: + push: + branches: + - master + paths: + - '.github/workflows/r2s_lean_minimal-test.yml' + schedule: + - cron: '10 08 * * *' + +jobs: + + build: + + runs-on: ubuntu-latest + if: github.repository == 'klever1988/nanopi-openwrt' + + steps: + + - name: Checkout + uses: actions/checkout@master + with: + ref: master + + - name: Initialization Environment + env: + DEBIAN_FRONTEND: noninteractive + run: | + sudo rm -rf /etc/apt/sources.list.d + sudo apt-get update + sudo apt-get -y --no-install-recommends install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs gcc-multilib g++-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler + curl https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh | sed '/#/d' | sed 's/\\//g' | sed 's/exit 0//g' | sed 's/sudo apt -y install//g' | sed 's/sudo apt-get -y install//g' | sed 's/:i386//g' | xargs sudo apt-get -y --no-install-recommends install + docker rmi `docker images -q` + sudo rm -rf /usr/share/dotnet /usr/local/lib/android/sdk /usr/local/share/boost /opt/ghc + + - name: Install Repo + run: | + git clone https://github.com/friendlyarm/repo + sudo cp repo/repo /usr/bin/ + + - name: Init Source + run: | + mkdir friendlywrt-rk3328 + cd friendlywrt-rk3328 + repo init -u https://github.com/friendlyarm/friendlywrt_manifests -b master-v19.07.1 -m rk3328.xml --repo-url=https://github.com/friendlyarm/repo --no-clone-bundle --depth=1 + repo sync -c --no-tags --no-clone-bundle -j8 + cd friendlywrt/ && git fetch --unshallow + + - name: Patch Kernel + run: | + . patch_kernel_5.4-test.sh + + - name: Mods + run: | + cd friendlywrt-rk3328 + . ../remove_unused_config.sh + cat configs/config_rk3328 | grep "TARGET" >> ../base_rk3328.seed + cat ../base_rk3328.seed > configs/config_rk3328 + echo ' + CONFIG_PACKAGE_ipv6helper=y + CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y + CONFIG_OPENSSL_ENGINE_BUILTIN=y + CONFIG_OPENSSL_WITH_DTLS=y + CONFIG_OPENSSL_WITH_EC2M=y + CONFIG_OPENSSL_WITH_NPN=y + CONFIG_PACKAGE_autocore=y + CONFIG_PACKAGE_htop=y + CONFIG_PACKAGE_diffutils=y + CONFIG_PACKAGE_vim-fuller=y + CONFIG_PACKAGE_pv=y + CONFIG_PACKAGE_pigz=y + CONFIG_PACKAGE_unzip=y + CONFIG_PACKAGE_losetup=y + CONFIG_PACKAGE_luci-app-frpc=y + CONFIG_PACKAGE_luci-app-netdata=y + CONFIG_LIBSODIUM_MINIMAL=y + CONFIG_PACKAGE_ddns-scripts_aliyun=y + CONFIG_PACKAGE_ddns-scripts_cloudflare.com-v4=y + CONFIG_PACKAGE_luci-app-ssr-plus=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_DNS2SOCKS=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Redsocks2=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Simple_obfs=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray=y + CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray_plugin=y + CONFIG_PACKAGE_luci-app-ssrserver-python=y + CONFIG_PACKAGE_luci-app-uhttpd=y + CONFIG_PACKAGE_luci-app-unblockmusic=y + CONFIG_PACKAGE_luci-app-v2ray-server=y + CONFIG_PACKAGE_luci-app-vssr=y + CONFIG_PACKAGE_luci-theme-argon=y + CONFIG_PACKAGE_luci-theme-material=y + CONFIG_PACKAGE_luci-theme-netgear=y + CONFIG_PACKAGE_luci-app-unblockmusic=y + CONFIG_PACKAGE_kmod-rtl8xxxu=y + CONFIG_UnblockNeteaseMusic_Go=y + CONFIG_UnblockNeteaseMusic_NodeJS=y + CONFIG_PACKAGE_luci-app-passwall=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_simple-obfs=y + CONFIG_PACKAGE_luci-app-passwall_INCLUDE_v2ray-plugin=y + CONFIG_PACKAGE_luci-app-openclash=y + CONFIG_PACKAGE_luci-app-zerotier=y + # CONFIG_PACKAGE_luci-app-accesscontrol is not set + # CONFIG_PACKAGE_luci-app-nlbwmon is not set + # CONFIG_PACKAGE_nlbwmon is not set + # CONFIG_PACKAGE_luci-app-pppoe-relay is not set + # CONFIG_PACKAGE_luci-app-pppoe-server is not set + # CONFIG_PACKAGE_luci-app-pptp-vpnserver-manyusers is not set + # CONFIG_PACKAGE_luci-app-sqm is not set + # CONFIG_PACKAGE_luci-app-ssr-python-pro-server is not set + # CONFIG_PACKAGE_luci-app-v2ray-server is not set + # CONFIG_PACKAGE_luci-app-vsftpd is not set + # CONFIG_PACKAGE_luci-app-vssr_INCLUDE_ShadowsocksR_Socks is not set + # CONFIG_TARGET_ROOTFS_TARGZ is not set + # CONFIG_OPENSSL_ENGINE_BUILTIN_DEVCRYPTO is not set + # CONFIG_PACKAGE_kmod-crypto-authenc is not set + # CONFIG_PACKAGE_kmod-cryptodev is not set + # CONFIG_PACKAGE_libopenssl-devcrypto is not set + # CONFIG_V2RAY_COMPRESS_UPX is not set + CONFIG_PACKAGE_luci-app-oled=y + CONFIG_PACKAGE_luci-app-flowoffload=y + # CONFIG_PACKAGE_luci-app-sfe is not set + ' >> configs/config_rk3328 + cd friendlywrt + git config --local user.email "action@github.com" && git config --local user.name "GitHub Action" + git remote add upstream https://github.com/coolsnowwolf/openwrt && git fetch upstream + git checkout upstream/lede-17.01 -b tmp + #git checkout 33f7cb735300bd9a099995236ed768c8925fec75 -- target/linux/sunxi/image/ + git rm README.md + git commit -m 'reset' + git checkout origin/master-v19.07.1 + git rebase adc1a9a3676b8d7be1b48b5aed185a94d8e42728^ --onto tmp -X theirs + #git revert 33abeff31cfb2ae58adf167c82bd36b5f56a5b1c -X ours || true + #rm -rf package/kernel/mt76/Makefile package/network/services/hostapd package/kernel/mac80211 + #git checkout 0a395d6fd6c38c554709197ae3cd6315f143cd7a -- package/kernel/mt76/Makefile package/network/services/hostapd package/kernel/mac80211 + rm -f target/linux/rockchip-rk3328/patches-4.14/0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch target/linux/generic/hack-4.14/999-net-patch-linux-kernel-to-support-shortcut-fe.patch + sed -i '/ipv6/,+3d' package/base-files/files/root/setup.sh + git checkout upstream/lede-17.01 -- feeds.conf.default + sed -i -E 's/#(src-git.+)(helloworld.+)/\1\2/' feeds.conf.default + cd package/lean/ + git clone https://github.com/NateLol/luci-app-oled + #git clone https://github.com/jerrykuku/lua-maxminddb.git + #git clone https://github.com/jerrykuku/luci-app-vssr.git + #cd luci-app-vssr/root/etc/ + #echo 'china_ssr.txt + #config/black.list + #config/white.list + #dnsmasq.oversea/oversea_list.conf + #dnsmasq.ssr/ad.conf + #dnsmasq.ssr/gfw_base.conf' | xargs rm + #cd ../../../ + rm -rf luci-theme-argon + git clone -b 18.06 https://github.com/jerrykuku/luci-theme-argon.git + cd ../../ + git apply ../../enable_autocore.diff + #git apply ../../fix_cpufreq.diff + sed -i 's/@LINUX_5_4//' package/lean/luci-app-flowoffload/Makefile + sed -i '/uci commit luci/i\uci set luci.main.mediaurlbase="/luci-static/argon"' package/lean/default-settings/files/zzz-default-settings + sed -i '/exit/i\chown -R root:root /usr/share/netdata/web' package/lean/default-settings/files/zzz-default-settings + sed -i '/exit/i\find /etc/rc.d/ -name *docker* -delete' package/lean/default-settings/files/zzz-default-settings + sed -i 's/option fullcone\t1/option fullcone\t0/' package/network/config/firewall/files/firewall.config + sed -i '/8.8.8.8/d' package/base-files/files/root/setup.sh + mv ../../scripts/check_wan4.sh package/base-files/files/usr/bin && sed -i '/exit/i\/bin/sh /usr/bin/check_wan4.sh &' package/base-files/files/etc/rc.local + mv ../../scripts/autoupdate.sh package/base-files/files/root/au.sh && chmod +x package/base-files/files/root/au.sh + echo -e '\nDYC Build\n' >> package/base-files/files/etc/banner + + - name: Add OpenClash + run: | + git clone -b master https://github.com/vernesong/OpenClash.git + mv OpenClash/luci-app-openclash friendlywrt-rk3328/friendlywrt/package + cd friendlywrt-rk3328/friendlywrt/package/base-files/files + mkdir -p etc/openclash/core && cd etc/openclash/core + curl -L https://github.com/vernesong/OpenClash/releases/download/Clash/clash-linux-armv8.tar.gz | tar zxf - + chmod +x clash + + - name: Add Passwall + run: | + cd friendlywrt-rk3328/friendlywrt + echo -e '\nsrc-git lienol https://github.com/Lienol/openwrt-package' >> feeds.conf.default + ./scripts/feeds update -a + rm -rf feeds/lienol/lienol/ipt2socks + rm -rf feeds/lienol/lienol/shadowsocksr-libev + rm -rf feeds/lienol/lienol/pdnsd-alt + rm -rf feeds/lienol/package/verysync + rm -rf feeds/lienol/lienol/luci-app-verysync + rm -rf package/lean/luci-app-kodexplorer + rm -rf package/lean/luci-app-pppoe-relay + rm -rf package/lean/luci-app-pptp-server + rm -rf package/lean/luci-app-v2ray-server + ./scripts/feeds install -a + + - name: Build FriendlyWrt + run: | + cd friendlywrt-rk3328 + sed -i 's/set -eu/set -u/' scripts/mk-friendlywrt.sh + ./build.sh nanopi_r2s.mk + + - name: Zip Files + run: | + gzip friendlywrt-rk3328/out/*.img + - name: Assemble Artifact + id: assemble_artifact + run: | + rm -rf ./artifact/ + mkdir -p ./artifact/ + mv friendlywrt-rk3328/out/*img* ./artifact/ + cp friendlywrt-rk3328/friendlywrt/.config ./artifact/ + cd ./artifact/ + md5sum *img* > md5sum.txt + cd .. + zip -r artifact.zip ./artifact/ + release_tag="R2S-Minimal-$(date +%Y-%m-%d) test" + echo "##[set-output name=release_tag;]$release_tag" + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.sec_token }} + with: + tag_name: ${{ steps.assemble_artifact.outputs.release_tag }} + release_name: 自动发布 ${{ steps.assemble_artifact.outputs.release_tag }} + draft: false + prerelease: false + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.sec_token }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./artifact.zip + asset_name: ${{ steps.assemble_artifact.outputs.release_tag }}-ROM.zip + asset_content_type: application/zip