#!/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)}')