obsidian-support-scripts/trigger.py
baalajimaestro bc299b676a
Add comments for trigger script
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-09-25 13:07:25 +05:30

43 lines
1.1 KiB
Python

#
# 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
# 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
current_time = str(int(time()))
repo = Repo(os.getcwd())
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,
)