Skip to content

Commit 67ea9ac

Browse files
authored
fix: Fixed concurrent builds (claranet#65)
1 parent 194a71a commit 67ea9ac

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

package.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ def list_files(top_path, log=None):
139139

140140
results = []
141141

142-
for root, dirs, files in os.walk(top_path):
142+
for root, dirs, files in os.walk(top_path, followlinks=True):
143143
for file_name in files:
144144
file_path = os.path.join(root, file_name)
145145
relative_path = os.path.relpath(file_path, top_path)
@@ -210,7 +210,7 @@ def yesno_bool(val):
210210
# Packaging functions
211211

212212
def emit_dir_content(base_dir):
213-
for root, dirs, files in os.walk(base_dir):
213+
for root, dirs, files in os.walk(base_dir, followlinks=True):
214214
if root != base_dir:
215215
yield os.path.normpath(root)
216216
for name in files:
@@ -323,7 +323,7 @@ def _ensure_base_path(self, zip_filename):
323323

324324
if archive_dir and not os.path.exists(archive_dir):
325325
self._log.info("creating %s", archive_dir)
326-
os.makedirs(archive_dir)
326+
os.makedirs(archive_dir, exist_ok=True)
327327

328328
def write_dirs(self, *base_dirs, prefix=None, timestamp=None):
329329
"""
@@ -595,7 +595,7 @@ def emit_file(fpath, opath):
595595
if apply(name):
596596
yield path
597597
else:
598-
for root, dirs, files in os.walk(path):
598+
for root, dirs, files in os.walk(path, followlinks=True):
599599
o, d = norm_path(path, root)
600600
# log.info('od: %s %s', o, d)
601601
if root != path:
@@ -1047,6 +1047,7 @@ def prepare_command(args):
10471047
hash_extra_paths = [p.format(path=tf_paths) for p in hash_extra_paths]
10481048

10491049
content_hash = bpm.hash(hash_extra_paths)
1050+
content_hash.update(json.dumps(build_plan, sort_keys=True).encode())
10501051
content_hash.update(runtime.encode())
10511052
content_hash.update(hash_extra.encode())
10521053
content_hash = content_hash.hexdigest()
@@ -1082,7 +1083,7 @@ def prepare_command(args):
10821083
build_plan_filename = os.path.join(artifacts_dir,
10831084
'{}.plan.json'.format(content_hash))
10841085
if not os.path.exists(artifacts_dir):
1085-
os.makedirs(artifacts_dir)
1086+
os.makedirs(artifacts_dir, exist_ok=True)
10861087
with open(build_plan_filename, 'w') as f:
10871088
f.write(build_plan)
10881089

0 commit comments

Comments
 (0)