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:
Tom Willemse 2023-12-16 23:52:35 -08:00
parent 7f1c755c4e
commit bf97e83d24

28
build/freeloadio.run Executable file
View 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)}')