git-lfs-test/build/freeloadio.run
Tom Willemse bf97e83d24 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.
2023-12-16 23:52:35 -08:00

28 lines
888 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)}')