mirror of
https://github.com/sotam0316/docker-py-revanced.git
synced 2026-04-25 03:48:37 +09:00
✨ Auto Release
This commit is contained in:
committed by
Nikhil Badyal
parent
6dd960b147
commit
837395091a
@@ -0,0 +1 @@
|
||||
"""Release patch resource manager."""
|
||||
@@ -0,0 +1,34 @@
|
||||
"""Github Manager."""
|
||||
|
||||
import json
|
||||
import os
|
||||
import urllib.request
|
||||
from pathlib import Path
|
||||
from typing import Self
|
||||
|
||||
from environs import Env
|
||||
|
||||
from src.app import APP
|
||||
from src.manager.release_manager import ReleaseManager
|
||||
from src.utils import branch_name, updates_file
|
||||
|
||||
|
||||
class GitHubManager(ReleaseManager):
|
||||
"""Release manager with GitHub."""
|
||||
|
||||
def __init__(self: Self, env: Env) -> None:
|
||||
self.update_file_url = (
|
||||
f"https://raw.githubusercontent.com/{env.str('GITHUB_REPOSITORY')}/{branch_name}/{updates_file}"
|
||||
)
|
||||
|
||||
def get_last_version(self: Self, app: APP, resource_name: str) -> str:
|
||||
"""Get last patched version."""
|
||||
if os.getenv("DRY_RUN", default=None):
|
||||
with Path(updates_file).open() as url:
|
||||
data = json.load(url)
|
||||
else:
|
||||
with urllib.request.urlopen(self.update_file_url) as url:
|
||||
data = json.load(url)
|
||||
if data.get(app.app_name):
|
||||
return str(data[app.app_name][resource_name])
|
||||
return "0"
|
||||
@@ -0,0 +1,21 @@
|
||||
"""Base release manager."""
|
||||
|
||||
from typing import Self
|
||||
|
||||
from loguru import logger
|
||||
from packaging.version import Version
|
||||
|
||||
from src.app import APP
|
||||
|
||||
|
||||
class ReleaseManager(object):
|
||||
"""Base Release manager."""
|
||||
|
||||
def get_last_version(self: Self, app: APP, resource_name: str) -> str:
|
||||
"""Get last patched version."""
|
||||
raise NotImplementedError
|
||||
|
||||
def should_trigger_build(self: Self, old_version: str, new_version: str) -> bool:
|
||||
"""Function to check if we should trigger a build."""
|
||||
logger.info(f"New version {new_version}, Old version {old_version}")
|
||||
return Version(new_version) > Version(old_version) # type: ignore[no-any-return]
|
||||
@@ -55,6 +55,7 @@ patches_json_version_key = "patches_json_version"
|
||||
implement_method = "Please implement the method"
|
||||
status_code_200 = 200
|
||||
resource_folder = "apks"
|
||||
branch_name = "changelogs"
|
||||
|
||||
|
||||
def update_changelog(name: str, response: dict[str, str]) -> None:
|
||||
|
||||
Reference in New Issue
Block a user