name: r2s Lienol版openwrt based on Lean on: push: branches: - master paths: - '.github/workflows/r2s_lienol_from_lean.yml' schedule: - cron: '09 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 sudo rm -rf /usr/share/dotnet /usr/local/lib/android/sdk - 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 u-boot/ && git fetch --unshallow && cd ../ cd friendlywrt/ && git fetch --unshallow - name: Patch Kernel run: | . patch_kernel_5.4.sh - name: Mods run: | cd friendlywrt-rk3328 #cd u-boot/ && git config --local user.email "action@github.com" && git config --local user.name "GitHub Action" && git revert e19137c754437403e8d077083ba51ea7b50a7e5f && cd ../ . ../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_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_UnblockNeteaseMusic_Go=y CONFIG_UnblockNeteaseMusic_NodeJS=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_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_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 ' >> 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/Lienol/openwrt && git fetch upstream git checkout upstream/dev-lean-lede -b tmp git mv README.md README && git commit -m 'undo rename readme for rebasing' git checkout origin/master-v19.07.1 git rebase adc1a9a3676b8d7be1b48b5aed185a94d8e42728^ --onto tmp -X theirs git revert --no-edit 8faac30089ce616940b3e96c4f4d900aeb6b9fcb sed -i '/ipv6/,+3d' package/base-files/files/root/setup.sh git checkout upstream/dev-lean-lede -- feeds.conf.default cd package/lean/ 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 '/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 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 && cd etc/openclash curl -L https://github.com/vernesong/OpenClash/releases/download/Clash/clash-linux-armv8.tar.gz | tar zxf - chmod +x clash - 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/ zip -r artifact.zip ./artifact/ release_tag="R2S-Minimal-$(date +%Y-%m-%d)" 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