28 lines
896 B
Python
Executable file
28 lines
896 B
Python
Executable file
#!/usr/bin/env python
|
|
|
|
from os import getenv
|
|
from os.path import dirname
|
|
from re import match
|
|
from shlex import quote
|
|
from subprocess import run
|
|
|
|
commit_before_sha = getenv("CI_COMMIT_BEFORE_SHA")
|
|
commit_sha = getenv("CI_COMMIT_SHA")
|
|
commit_ref_name = getenv("CI_COMMIT_REF_NAME")
|
|
directories = set()
|
|
|
|
cmd = "git clone https://code.ryuslash.org/ryuslash/git-lfs-test.git ."
|
|
print(cmd)
|
|
run(cmd, shell=True)
|
|
|
|
if not match(r"^0+$", commit_before_sha):
|
|
cmd = f"git diff --name-only {quote(commit_before_sha)} {quote(commit_sha)}"
|
|
print(cmd)
|
|
process = run(cmd, shell=True, capture_output=True)
|
|
process_output = process.stdout.decode()
|
|
print(process_output)
|
|
for filename in process_output.strip().split("\n"):
|
|
directories.add(dirname(filename))
|
|
|
|
unix_directory_list = str.join(":", directories)
|
|
print(f"python tasks.py probe --directories={quote(unix_directory_list)}")
|