Add renovate script
This commit is contained in:
parent
53cec2469b
commit
9fadc430a7
88
bin/renovate-ls-apps.py
Executable file
88
bin/renovate-ls-apps.py
Executable file
@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Usage: ./renovate-ls-apps.py
|
||||
#
|
||||
# Output list of apps for Renovate bot configuration
|
||||
|
||||
from logging import DEBUG, basicConfig, getLogger
|
||||
from os.path import expanduser
|
||||
from pathlib import Path
|
||||
from shlex import split
|
||||
from subprocess import check_output
|
||||
from sys import exit
|
||||
|
||||
from requests import get
|
||||
|
||||
HOME_PATH = expanduser("~/")
|
||||
CLONES_PATH = Path(f"{HOME_PATH}/.abra/apps").absolute()
|
||||
YQ_PATH = Path(f"{HOME_PATH}/.abra/vendor/yq")
|
||||
SCRIPT_PATH = Path(__file__).absolute().parent
|
||||
REPOS_TO_SKIP = (
|
||||
"abra",
|
||||
"abra-apps",
|
||||
"abra-gandi",
|
||||
"abra-hetzner",
|
||||
"backup-bot",
|
||||
"coopcloud.tech",
|
||||
"coturn",
|
||||
"docker-cp-deploy",
|
||||
"docker-dind-bats-kcov",
|
||||
"docs.coopcloud.tech",
|
||||
"example",
|
||||
"gardening",
|
||||
"organising",
|
||||
"pyabra",
|
||||
"radicle-seed-node",
|
||||
"stack-ssh-deploy",
|
||||
"swarm-cronjob",
|
||||
)
|
||||
|
||||
log = getLogger(__name__)
|
||||
basicConfig()
|
||||
log.setLevel(DEBUG)
|
||||
|
||||
|
||||
def _run_cmd(cmd, shell=False, **kwargs):
|
||||
"""Run a shell command."""
|
||||
args = [split(cmd)]
|
||||
|
||||
if shell:
|
||||
args = [cmd]
|
||||
kwargs = {"shell": shell}
|
||||
|
||||
try:
|
||||
return check_output(*args, **kwargs).decode("utf-8").strip()
|
||||
except Exception as exception:
|
||||
log.error(f"Failed to run {cmd}, saw {str(exception)}")
|
||||
exit(1)
|
||||
|
||||
|
||||
def get_repos_json():
|
||||
""" Retrieve repo list from Gitea """
|
||||
url = "https://git.autonomic.zone/api/v1/orgs/coop-cloud/repos"
|
||||
|
||||
repos = []
|
||||
response = True
|
||||
page = 1
|
||||
|
||||
try:
|
||||
while response:
|
||||
response = get(url + f"?page={page}", timeout=10).json()
|
||||
repos.extend(response)
|
||||
page += 1
|
||||
|
||||
return repos
|
||||
except Exception as exception:
|
||||
log.error(f"Failed to retrieve {url}, saw {str(exception)}")
|
||||
exit(1)
|
||||
|
||||
|
||||
def main():
|
||||
"""Run the script."""
|
||||
repos = [p["full_name"] for p in get_repos_json()]
|
||||
repos.sort()
|
||||
for repo in repos:
|
||||
print(f'"{repo}",')
|
||||
|
||||
|
||||
main()
|
Loading…
Reference in New Issue
Block a user