abra-bash/bin/github-sync.py

50 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python3
# Usage: ./github-sync.py
#
# Mirror repositories to Github (Fuck M$, get it straight)
from os import chdir, environ, listdir
from abralib import CLONES_PATH, _run_cmd, clone_all_apps, get_repos_json, log
REPOS_TO_SKIP = (
"apps",
"backup-bot",
"docker-dind-bats-kcov",
"docs.coopcloud.tech",
"pyabra",
"radicle-seed-node",
"swarm-cronjob",
"tyop",
)
def main():
"""Run the script."""
repos_json = get_repos_json()
clone_all_apps(repos_json)
for app in listdir(CLONES_PATH):
if app in REPOS_TO_SKIP:
log.info(f"Skipping {app}")
continue
app_path = f"{CLONES_PATH}/{app}"
chdir(app_path)
log.info(f"Mirroring {app}...")
token = environ.get("GITHUB_ACCESS_TOKEN")
remote = f"https://coopcloudbot:{token}@github.com/Coop-Cloud/{app}.git"
_run_cmd(
f"git remote add github {remote} || true",
shell=True,
)
_run_cmd("git push github --all")
main()