diff --git a/.github/workflows/build-0.yml b/.github/workflows/build-0.yml new file mode 100644 index 0000000..7eced58 --- /dev/null +++ b/.github/workflows/build-0.yml @@ -0,0 +1,29 @@ +name: Build kernel deb packages(0) +on: + schedule: + - cron: '0 0 * * *' + workflow_dispatch: + +jobs: + build: + name: Build kernel + runs-on: ubuntu-latest + steps: + + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-android: 'true' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build + env: + PASSWORD: ${{ secrets.PASSWORD }} + run: bash build_action.sh 0 diff --git a/.github/workflows/build-1.yml b/.github/workflows/build-1.yml new file mode 100644 index 0000000..2b745b4 --- /dev/null +++ b/.github/workflows/build-1.yml @@ -0,0 +1,29 @@ +name: Build kernel deb packages(1) +on: + schedule: + - cron: '0 3 * * *' + workflow_dispatch: + +jobs: + build: + name: Build kernel + runs-on: ubuntu-latest + steps: + + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-android: 'true' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build + env: + PASSWORD: ${{ secrets.PASSWORD }} + run: bash build_action.sh 1 diff --git a/.github/workflows/build-2.yml b/.github/workflows/build-2.yml new file mode 100644 index 0000000..2d140ca --- /dev/null +++ b/.github/workflows/build-2.yml @@ -0,0 +1,29 @@ +name: Build kernel deb packages(2) +on: + schedule: + - cron: '0 6 * * *' + workflow_dispatch: + +jobs: + build: + name: Build kernel + runs-on: ubuntu-latest + steps: + + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-android: 'true' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build + env: + PASSWORD: ${{ secrets.PASSWORD }} + run: bash build_action.sh 2 diff --git a/.github/workflows/build-3.yml b/.github/workflows/build-3.yml new file mode 100644 index 0000000..f6fc37e --- /dev/null +++ b/.github/workflows/build-3.yml @@ -0,0 +1,29 @@ +name: Build kernel deb packages(3) +on: + schedule: + - cron: '0 9 * * *' + workflow_dispatch: + +jobs: + build: + name: Build kernel + runs-on: ubuntu-latest + steps: + + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-android: 'true' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build + env: + PASSWORD: ${{ secrets.PASSWORD }} + run: bash build_action.sh 3 diff --git a/.github/workflows/build-4.yml b/.github/workflows/build-4.yml index 23bbddb..d15ff72 100644 --- a/.github/workflows/build-4.yml +++ b/.github/workflows/build-4.yml @@ -1,7 +1,7 @@ name: Build kernel deb packages(4) on: schedule: - - cron: '0 3 * * *' + - cron: '0 12 * * *' workflow_dispatch: jobs: diff --git a/.github/workflows/build-5.yml b/.github/workflows/build-5.yml index 70d4da7..ff40781 100644 --- a/.github/workflows/build-5.yml +++ b/.github/workflows/build-5.yml @@ -1,7 +1,7 @@ name: Build kernel deb packages(5) on: schedule: - - cron: '0 21 * * *' + - cron: '0 15 * * *' workflow_dispatch: jobs: diff --git a/.github/workflows/build.yml b/.github/workflows/build-6.yml similarity index 97% rename from .github/workflows/build.yml rename to .github/workflows/build-6.yml index 7036e4b..e8c4671 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-6.yml @@ -1,7 +1,7 @@ name: Build kernel deb packages(6) on: schedule: - - cron: '0 0 * * *' + - cron: '0 18 * * *' workflow_dispatch: jobs: diff --git a/.github/workflows/build-7.yml b/.github/workflows/build-7.yml new file mode 100644 index 0000000..236318a --- /dev/null +++ b/.github/workflows/build-7.yml @@ -0,0 +1,29 @@ +name: Build kernel deb packages(7) +on: + schedule: + - cron: '0 21 * * *' + workflow_dispatch: + +jobs: + build: + name: Build kernel + runs-on: ubuntu-latest + steps: + + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-android: 'true' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build + env: + PASSWORD: ${{ secrets.PASSWORD }} + run: bash build_action.sh 7 diff --git a/get-newest-version.py b/get-newest-version.py index 468569c..22c476c 100644 --- a/get-newest-version.py +++ b/get-newest-version.py @@ -1,42 +1,31 @@ #!/usr/bin/env python3 -import os import sys import pyquery - -def CompareVersion(old, new): - oldList = old.split(".") - newList = new.split(".") - for i in range(len(oldList)): - oldN = int(oldList[i]) - try: - newN = int(newList[i]) - except: - newN = 0 - if newN > oldN: - return 1 - if newN < oldN: - return -1 - return 0 - -version=sys.argv[1] +mainVersion = int(sys.argv[1]) +programVersionList = pyquery.PyQuery(url=f"https://www.kernel.org/") +#release = pyquery.PyQuery() +temp = 0 newestVersion = "0.0.0" newestUrl = "" -programVersionList = pyquery.PyQuery(url=f"https://cdn.kernel.org/pub/linux/kernel/v{version}.x/") -for i in programVersionList("a").items(): - #continue - url = i.attr.href - if url[-7:] == ".tar.xz" and url[:6] == "linux-": - nowversion = os.path.basename(url).lower().replace("linux-", "").replace(".tar.xz", "") - if "-" in nowversion: - nowversion = nowversion[:nowversion.index("-")] - print(newestUrl) - if CompareVersion(newestVersion, nowversion) == 1: - newestVersion = nowversion - newestUrl = url +for i in programVersionList(f"#releases tr :nth-child(2)").items(): + version = i("td strong").text() + if temp == mainVersion: + #print(version) + newestVersion = version + break + temp += 1 + +temp = 0 +for i in programVersionList(f"#releases tr :nth-child(4)").items(): + url = i("td a").attr.href + if temp == mainVersion: + newestUrl = url + break + temp += 1 print(newestVersion) -newestUrl = f"https://cdn.kernel.org/pub/linux/kernel/v{version}.x/{newestUrl}" + print(newestUrl) with open("/tmp/kernelversion.txt", "w") as file: file.write(newestVersion) with open("/tmp/kernelurl.txt", "w") as file: - file.write(newestUrl) \ No newline at end of file + file.write(newestUrl)