Add a build script
This script does what was previously done by the git hook script. It takes the commit before the push and the one after the push and lists the directories that have been affected in those commits. This script doesn't yet start an actual process for processing the directories, it just prints what it thinks a command line might look like.
This commit is contained in:
parent
7f1c755c4e
commit
bf97e83d24
1 changed files with 28 additions and 0 deletions
28
build/freeloadio.run
Executable file
28
build/freeloadio.run
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/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)}')
|
Loading…
Reference in a new issue