# # Copyright © 2022 Maestro Creativescape # # SPDX-License-Identifier: AGPL-3.0-or-later # # Imports from git import Repo import subprocess import os from time import time from requests import post from pathlib import Path # Environment variables for creds base_repo_user = os.environ.get("BASE_REPO_USERNAME") base_repo_pass = os.environ.get("BASE_REPO_PASSWORD") content_repo_git = os.environ.get("CONTENT_REPO_GIT") content_repo_id = os.environ.get("CONTENT_REPO_ID") gitlab_token = os.environ.get("GITLAB_TOKEN") # Get the time and create a tag of epoch cwd = os.getcwd() path = Path(cwd) base_dir = str(path.parent.absolute()) current_time = str(int(time())) repo = Repo(base_dir) repo.create_tag(current_time) # Nuke the remote if it existed if repo.remote("pushback").exists(): repo.remote().remove(repo, "pushback") repo.create_remote( "pushback", f"https://{base_repo_user}:{base_repo_pass}@git.baalajimaestro.me/baalajimaestro/{content_repo_git}.git", ) # Push the newly created tag repo.git.push("pushback", current_time) # Trigger site rebuild data = {"token": gitlab_token, "ref": "source"} post( f"https://git.baalajimaestro.me/api/v4/projects/{content_repo_id}/trigger/pipeline", json=data, )