mirror of
https://github.com/YunoHost/yunorunner.git
synced 2024-09-03 20:05:52 +02:00
[enh] uses argh and include github token to talk to the API
This commit is contained in:
parent
6636775501
commit
bdebd63fe2
1 changed files with 11 additions and 13 deletions
24
run.py
24
run.py
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import ujson
|
import argh
|
||||||
|
import random
|
||||||
import logging
|
import logging
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
import random
|
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
|
import ujson
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import aiofiles
|
import aiofiles
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ async def monitor_apps_lists():
|
||||||
# only support github for now :(
|
# only support github for now :(
|
||||||
async def get_master_commit_sha(app_id, organization="yunohost-apps"):
|
async def get_master_commit_sha(app_id, organization="yunohost-apps"):
|
||||||
async with aiohttp.ClientSession() as session:
|
async with aiohttp.ClientSession() as session:
|
||||||
async with session.get(f"https://api.github.com/repos/{organization}/{app_id}_ynh/branches/master") as response:
|
async with session.get(f"https://api.github.com/repos/{organization}/{app_id}_ynh/branches/master", headers={"Authorization": f"token {app.config.github_token}"}) as response:
|
||||||
data = await response.json()
|
data = await response.json()
|
||||||
try:
|
try:
|
||||||
commit_sha = data["commit"]["sha"]
|
commit_sha = data["commit"]["sha"]
|
||||||
|
@ -90,7 +90,7 @@ async def monitor_apps_lists():
|
||||||
async with aiohttp.ClientSession() as session:
|
async with aiohttp.ClientSession() as session:
|
||||||
app_list = "official"
|
app_list = "official"
|
||||||
task_logger.info(f"Downloading {app_list_name}.json...")
|
task_logger.info(f"Downloading {app_list_name}.json...")
|
||||||
async with session.get(url) as resp:
|
async with session.get(url, headers={"Authorization": f"token {app.config.github_token}"}) as resp:
|
||||||
data = await resp.json()
|
data = await resp.json()
|
||||||
|
|
||||||
repos = {x.name: x for x in Repo.select().where(Repo.app_list == app_list_name)}
|
repos = {x.name: x for x in Repo.select().where(Repo.app_list == app_list_name)}
|
||||||
|
@ -401,17 +401,15 @@ async def index(request):
|
||||||
return response.html(await index_template.read())
|
return response.html(await index_template.read())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def main(path_to_analyseCI, github_token=None):
|
||||||
if not sys.argv[1:]:
|
|
||||||
print("Error: missing shell path argument")
|
|
||||||
print("Usage: python run.py /path/to/analyseCI.sh")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
path_to_analyseCI = sys.argv[1]
|
|
||||||
|
|
||||||
reset_pending_jobs()
|
reset_pending_jobs()
|
||||||
reset_busy_workers()
|
reset_busy_workers()
|
||||||
|
|
||||||
|
app.config.github_token = github_token
|
||||||
app.add_task(monitor_apps_lists())
|
app.add_task(monitor_apps_lists())
|
||||||
app.add_task(jobs_dispatcher())
|
app.add_task(jobs_dispatcher())
|
||||||
app.run('localhost', port=4242)
|
app.run('localhost', port=4242)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
argh.dispatch_command(main)
|
||||||
|
|
Loading…
Add table
Reference in a new issue