This commit is contained in:
gfdgd xi 2023-06-26 20:49:56 +08:00
parent 467ff434cb
commit 3855e4ef67
9 changed files with 169 additions and 35 deletions

29
.github/workflows/build-0.yml vendored Normal file
View File

@ -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

29
.github/workflows/build-1.yml vendored Normal file
View File

@ -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

29
.github/workflows/build-2.yml vendored Normal file
View File

@ -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

29
.github/workflows/build-3.yml vendored Normal file
View File

@ -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

View File

@ -1,7 +1,7 @@
name: Build kernel deb packages(4) name: Build kernel deb packages(4)
on: on:
schedule: schedule:
- cron: '0 3 * * *' - cron: '0 12 * * *'
workflow_dispatch: workflow_dispatch:
jobs: jobs:

View File

@ -1,7 +1,7 @@
name: Build kernel deb packages(5) name: Build kernel deb packages(5)
on: on:
schedule: schedule:
- cron: '0 21 * * *' - cron: '0 15 * * *'
workflow_dispatch: workflow_dispatch:
jobs: jobs:

View File

@ -1,7 +1,7 @@
name: Build kernel deb packages(6) name: Build kernel deb packages(6)
on: on:
schedule: schedule:
- cron: '0 0 * * *' - cron: '0 18 * * *'
workflow_dispatch: workflow_dispatch:
jobs: jobs:

29
.github/workflows/build-7.yml vendored Normal file
View File

@ -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

View File

@ -1,42 +1,31 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
import pyquery import pyquery
mainVersion = int(sys.argv[1])
def CompareVersion(old, new): programVersionList = pyquery.PyQuery(url=f"https://www.kernel.org/")
oldList = old.split(".") #release = pyquery.PyQuery()
newList = new.split(".") temp = 0
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]
newestVersion = "0.0.0" newestVersion = "0.0.0"
newestUrl = "" newestUrl = ""
programVersionList = pyquery.PyQuery(url=f"https://cdn.kernel.org/pub/linux/kernel/v{version}.x/") for i in programVersionList(f"#releases tr :nth-child(2)").items():
for i in programVersionList("a").items(): version = i("td strong").text()
#continue if temp == mainVersion:
url = i.attr.href #print(version)
if url[-7:] == ".tar.xz" and url[:6] == "linux-": newestVersion = version
nowversion = os.path.basename(url).lower().replace("linux-", "").replace(".tar.xz", "") break
if "-" in nowversion: temp += 1
nowversion = nowversion[:nowversion.index("-")]
print(newestUrl) temp = 0
if CompareVersion(newestVersion, nowversion) == 1: for i in programVersionList(f"#releases tr :nth-child(4)").items():
newestVersion = nowversion url = i("td a").attr.href
newestUrl = url if temp == mainVersion:
newestUrl = url
break
temp += 1
print(newestVersion) print(newestVersion)
newestUrl = f"https://cdn.kernel.org/pub/linux/kernel/v{version}.x/{newestUrl}"
print(newestUrl) print(newestUrl)
with open("/tmp/kernelversion.txt", "w") as file: with open("/tmp/kernelversion.txt", "w") as file:
file.write(newestVersion) file.write(newestVersion)
with open("/tmp/kernelurl.txt", "w") as file: with open("/tmp/kernelurl.txt", "w") as file:
file.write(newestUrl) file.write(newestUrl)