29 lines
888 B
Text
29 lines
888 B
Text
|
#!/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)}')
|