Merge PR#3. Solano: Add post worker hook for copying artifacts.
This commit is contained in:
30
scripts/post_worker.py
Normal file
30
scripts/post_worker.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import tarfile
|
||||
import os
|
||||
import shutil
|
||||
|
||||
full_path = os.path.realpath(__file__)
|
||||
source_dir = full_path.replace("scripts/post_worker.py", "reports/")
|
||||
output_filename = full_path.replace("post_worker.py", "reports.tar.gz")
|
||||
|
||||
print "source dir:", source_dir
|
||||
|
||||
count = 0
|
||||
|
||||
# walk through every subdirectory & add the folder if it is not empty
|
||||
with tarfile.open(output_filename, "w:gz") as tar:
|
||||
for (path, dirs, files) in os.walk(source_dir):
|
||||
if len(files) > 0:
|
||||
print "tarring:", path
|
||||
tar.add(path, arcname=os.path.basename(path))
|
||||
count += 1
|
||||
|
||||
tar.close()
|
||||
|
||||
file_dest = os.environ['HOME'] + '/results/' + os.environ['TDDIUM_SESSION_ID'] + '/session/reports.tar.gz'
|
||||
|
||||
# if the tar file is not empty, copy it to the proper place
|
||||
if count > 0:
|
||||
shutil.copyfile(output_filename, file_dest)
|
||||
print "done copying file"
|
||||
|
||||
print "TDDIUM_SESSION_ID:", os.environ['TDDIUM_SESSION_ID']
|
||||
@@ -9,6 +9,7 @@ tddium:
|
||||
:pre_setup: "virtualenv $HOME/python-env && $HOME/python-env/bin/pip install -r requirements/edx/paver.txt && $HOME/python-env/bin/pip install -r requirements/edx/pre.txt && $HOME/python-env/bin/pip install -r requirements/edx/base.txt && $HOME/python-env/bin/pip install -r requirements/edx/github.txt && $HOME/python-env/bin/pip install -r requirements/edx/local.txt && $HOME/python-env/bin/pip install -r requirements/edx/post.txt"
|
||||
:post_build: 'for i in $(find test_root/log -name *.png); do cp -R $i $HOME/results/$TDDIUM_SESSION_ID/session/; echo "copying file $i"; done'
|
||||
# :post_build: "paver coverage; paver bokchoy_coverage; for i in $(find reports -name cover); do cp -R $i $HOME/results/$TDDIUM_SESSION_ID/session/; done"
|
||||
:post_worker: 'python ./scripts/post_worker.py'
|
||||
:cache:
|
||||
:key_paths:
|
||||
- requirements/edx/paver.txt
|
||||
|
||||
Reference in New Issue
Block a user