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