48 lines
1.0 KiB
Python
Executable File
48 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 = (
|
|
"backup-bot",
|
|
"docker-dind-bats-kcov",
|
|
"docs.coopcloud.tech",
|
|
"pyabra",
|
|
"radicle-seed-node",
|
|
"swarm-cronjob",
|
|
)
|
|
|
|
|
|
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()
|