diff --git a/.github/workflows/lienol_on_lean.yml b/.github/workflows/lienol_on_lean.yml new file mode 100644 index 0000000000000000000000000000000000000000..cca4f8d4e06e277d8d701da00fd7215c092eb565 --- /dev/null +++ b/.github/workflows/lienol_on_lean.yml @@ -0,0 +1,157 @@ +name: LOL + +on: + repository_dispatch: + push: + branches: + - master + paths: + - '.github/workflows/lienol_on_lean.yml' + - '*.sh' + schedule: + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.sec_token }} + sec_token: ${{ secrets.sec_token }} + + steps: + - name: Checkout + uses: actions/checkout@master + with: + ref: master + fetch-depth: 0 + token: ${{ env.sec_token }} + + - name: Init Env + env: + DEBIAN_FRONTEND: noninteractive + run: | + . init_env.sh + + - name: Repo Hash + run: | + ./set_repo_hash.sh Builder + + - name: Friendlywrt Source + run: | + . friendlywrt_source.sh + + - name: Patch Kernel + run: | + . Lean/patch_kernel_5.4.sh + sed -i -r 's/# (CONFIG_.*_ERRATUM_.*?) is.*/\1=y/g' kernel/arch/arm64/configs/nanopi-r2_linux_defconfig + + - name: Rebase on Lean + run: | + . LOL/rebase_on_lienol.sh + + - name: Add Packages to Lean + run: | + sed -i 's/^src-git lienol.*//' friendlywrt-rk3328/friendlywrt/feeds.conf.default + . add_packages_to_lean.sh + + - name: Patches for Lean + run: | + . Lean/lean_patches.sh + + - name: Install Openwrt octeontx patches + run: | + cd friendlywrt-rk3328 + cp -r openwrt/target/linux/octeontx/patches-5.4 friendlywrt/target/linux/rockchip-rk3328/ + ls friendlywrt/target/linux/rockchip-rk3328/patches-5.4 + + - name: Change Log + id: changelog + run: | + ./changelog.sh LOL + + - name: Download Clash Binary + if: steps.changelog.outputs.changelog != '' + run: | + CLASH_VERSION=v0.19.0 + mkdir -p friendlywrt-rk3328/friendlywrt/package/base-files/files/usr/bin + cd friendlywrt-rk3328/friendlywrt/package/base-files/files/usr/bin + wget -O clash.gz https://github.com/Dreamacro/clash/releases/download/$CLASH_VERSION/clash-linux-armv8-$CLASH_VERSION.gz + gunzip clash.gz + chmod +x clash + + - name: Build Config + if: steps.changelog.outputs.changelog != '' + run: | + cd friendlywrt-rk3328 + cat configs/config_rk3328 | grep "TARGET" > ../rk3328.config + cat ../minimal_config.seed >> ../rk3328.config + cat ../rk3328.config > configs/config_rk3328 + cat configs/config_rk3328 + + - name: Build Friendlywrt + if: steps.changelog.outputs.changelog != '' + run: | + cd friendlywrt-rk3328 + sed -i 's/set -eu/set -u/' scripts/mk-friendlywrt.sh + ./build.sh nanopi_r2s.mk + + # from https://github.com/fanck0605/nanopi_r2s/blob/lean/.github/workflows/main.yml#L87 + - name: Fix FriendlyWrt rootfs owner and group + if: steps.changelog.outputs.changelog != '' + run: | + sudo df -lh + lodev=$(sudo losetup -f) + echo "found unused loop dev $lodev" + sudo losetup -o 100663296 $lodev friendlywrt-rk3328/out/*.img + sudo rm -rf /mnt/friendlywrt-tmp + sudo mkdir -p /mnt/friendlywrt-tmp + sudo mount $lodev /mnt/friendlywrt-tmp + sudo chown -R root:root /mnt/friendlywrt-tmp + sudo umount /mnt/friendlywrt-tmp + sudo losetup -d $lodev + + - name: Zip Files + if: steps.changelog.outputs.changelog != '' + run: | + gzip friendlywrt-rk3328/out/*.img + + - name: Assemble Artifact + if: steps.changelog.outputs.changelog != '' + id: assemble_artifact + run: | + rm -rf ./artifact/ + mkdir -p ./artifact/ + cd friendlywrt-rk3328/friendlywrt;./scripts/diffconfig.sh > ../../artifact/config.seed;cd ../../ + mv friendlywrt-rk3328/out/*img* ./artifact/ + cp friendlywrt-rk3328/friendlywrt/.config ./artifact/full.config + cp friendlywrt-rk3328/friendlywrt/bin/packages/*/scw/luci-app-passwall*.ipk ./artifact/ + zip -r artifact.zip -j artifact artifact/* + release_tag=${{ steps.changelog.outputs.buildtag }} + echo "##[set-output name=release_tag;]$release_tag" + + - name: Create Release + if: steps.changelog.outputs.changelog != '' + id: create_release + uses: actions/create-release@v1 + with: + tag_name: ${{ steps.assemble_artifact.outputs.release_tag }} + release_name: ${{ steps.assemble_artifact.outputs.release_tag }} + body: ${{ steps.changelog.outputs.changelog }} + draft: false + prerelease: false + + - name: Upload Release Asset + if: steps.changelog.outputs.changelog != '' + id: upload-release-asset + uses: actions/upload-release-asset@v1 + 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 + + - name: Push Change Log + if: steps.changelog.outputs.changelog != '' + run: | + git pull --rebase --autostash + git push diff --git a/LOL/rebase_on_lienol.sh b/LOL/rebase_on_lienol.sh new file mode 100755 index 0000000000000000000000000000000000000000..b3e39a84d5a7a63034a15a78c4169a1d041ac4d9 --- /dev/null +++ b/LOL/rebase_on_lienol.sh @@ -0,0 +1,21 @@ +#!/bin/bash +cd friendlywrt-rk3328 +find device/ -name distfeeds.conf -delete +cd friendlywrt +git config --global user.email "action@github.com" && git config --global user.name "GitHub Action" +git remote add upstream https://github.com/Lienol/openwrt.git && git fetch upstream +git checkout upstream/dev-lean-lede -b tmp +../../set_repo_hash.sh Lean +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 ours +echo "" +git status +echo "" +git checkout upstream/dev-lean-lede -- feeds.conf.default +git checkout upstream/dev-lean-lede -- package/kernel/mac80211/files/lib/netifd/mac80211.sh +echo "" +git status +echo "" +echo "feeds.conf.default" +cat feeds.conf.default diff --git a/LOL/status.env b/LOL/status.env new file mode 100644 index 0000000000000000000000000000000000000000..c0220bd21efdfd829b8a8682bfe75e97041f6bdf --- /dev/null +++ b/LOL/status.env @@ -0,0 +1,7 @@ +BuilderHash=67e97af +FriendlyWRTHash=1bedd70 +ArgonHash=3e41f5b +AdguardHomeHash=37fdf50 +LeanHash=b622523 +LienolHash=d37042d +ScwPackageHash=1583d32 diff --git a/README.md b/README.md index f20871c01760bb5e19b77444a5dfab460236c2e2..491673d4ccfaab1300241e6cb60911e3806aea8f 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ | :------ | :--- | :----- | :--- | | Lean | [![lean](https://github.com/songchenwen/nanopi-r2s/workflows/lean/badge.svg)](https://github.com/songchenwen/nanopi-r2s/actions?query=workflow%3Alean) | [Change Log](Lean/CHANGELOG.md) | 以 Lean 为基础, 增加 FriendlyWRT 对 OpenWRT 的改动 | | FriendlyWRT | [![friendlywrt](https://github.com/songchenwen/nanopi-r2s/workflows/friendlywrt/badge.svg)](https://github.com/songchenwen/nanopi-r2s/actions?query=workflow%3Afriendlywrt) | [Change Log](FriendlyWRT/CHANGELOG.md) | 以 FriendlyWRT 为基础, 添加 Lean 的包 | +| LOL | [![LOL](https://github.com/songchenwen/nanopi-r2s/workflows/LOL/badge.svg)](https://github.com/songchenwen/nanopi-r2s/actions?query=workflow%3ALOL) | [Change Log](LOL/CHANGELOG.md) | 以[Lienol on Lean](https://github.com/Lienol/openwrt/tree/dev-lean-lede)为基础, 增加 FriendlyWRT 对 OpenWRT 的改动 | Fork 自 [klever1988](https://github.com/klever1988/nanopi-openwrt) 和 [soffchen](https://github.com/soffchen/NanoPi-R2S) diff --git a/name_and_urls.env b/name_and_urls.env index 28bf3ac11b53587cdca0ba589c654cac66c5c6b0..94accd0bbe209fade181497d035b67cd0e8e3e1e 100644 --- a/name_and_urls.env +++ b/name_and_urls.env @@ -6,3 +6,4 @@ LeanURL=https://github.com/coolsnowwolf/lede LeanLuciURL=https://github.com/coolsnowwolf/luci LeanPackageURL=https://github.com/coolsnowwolf/packages FriendlyWRTURL=https://github.com/friendlyarm/friendlywrt +LienolURL=https://github.com/Lienol/openwrt