Compare commits
2 commits
ae458763ae
...
bf97e83d24
Author | SHA1 | Date | |
---|---|---|---|
bf97e83d24 | |||
7f1c755c4e |
2 changed files with 39 additions and 16 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)}')
|
|
@ -3,26 +3,21 @@
|
|||
from shlex import quote
|
||||
from subprocess import run
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
directories = set()
|
||||
|
||||
for line in sys.stdin:
|
||||
precommit, postcommit, refname = line.split(' ')
|
||||
precommit, postcommit, refname = line.strip().split(' ')
|
||||
|
||||
if not refname == "refs/heads/main":
|
||||
print(f"Skipping ref {refname}")
|
||||
print(f"Skipping ref \"{refname}\"")
|
||||
continue
|
||||
|
||||
print(f"precommit: {precommit}; postcommit: {postcommit}; refname: {refname}")
|
||||
|
||||
if not re.match(r"^0+$", precommit):
|
||||
process = run(f"git diff --name-only {quote(precommit)} {quote(postcommit)}", shell=True, capture_output=True)
|
||||
for filename in process.stdout.strip().split(b'\n'):
|
||||
directories.add(os.path.dirname(filename).decode())
|
||||
|
||||
os.putenv("LAMINAR_REASON", "Push to git repository")
|
||||
process = run(f"laminarc queue freeloadio directories={quote(str.join(';', directories))}", shell=True, capture_output=True)
|
||||
buildname, buildrun = process.stdout.strip().split(b':')
|
||||
cmd = "laminarc queue freeloadio " \
|
||||
f"CI_COMMIT_BEFORE_SHA={quote(precommit)} " \
|
||||
f"CI_COMMIT_SHA={quote(postcommit)} " \
|
||||
f"CI_COMMIT_REF_NAME={quote(refname)}"
|
||||
print(cmd)
|
||||
process = run(cmd, shell=True, capture_output=True)
|
||||
buildname, buildrun = process.stdout.decode().strip().split(':')
|
||||
print(f"Queued build: https://laminar.ryuslash.org/jobs/{buildname}/{buildrun}")
|
||||
|
|
Loading…
Reference in a new issue