Skip to content

Commit e161f33

Browse files
fix(core) - Ignore timestamp issues when creating a ZipFile on py3.8 and greater (#927)
* set strict timestamp to false in zip file Co-authored-by: Eduardo Rodrigues <[email protected]>
1 parent c440673 commit e161f33

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/rpdk/core/project.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
import os
55
import shutil
6+
import sys
67
import zipfile
78
from pathlib import Path
89
from tempfile import TemporaryFile
@@ -611,7 +612,10 @@ def submit(
611612
with context_mgr as f:
612613
# the default compression is ZIP_STORED, which helps with the
613614
# file-size check on upload
614-
with zipfile.ZipFile(f, mode="w") as zip_file:
615+
args = {}
616+
if sys.version_info >= (3, 8):
617+
args = {"strict_timestamps": False}
618+
with zipfile.ZipFile(f, mode="w", **args) as zip_file:
615619
if self.configuration_schema:
616620
with zip_file.open(
617621
CONFIGURATION_SCHEMA_UPLOAD_FILENAME, "w"

tests/test_project.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import os
77
import random
88
import string
9+
import sys
910
import zipfile
1011
from contextlib import contextmanager
1112
from io import StringIO
@@ -1189,6 +1190,8 @@ def test_submit_dry_run(project, is_type_configuration_available):
11891190

11901191
with project.schema_path.open("w", encoding="utf-8") as f:
11911192
f.write(CONTENTS_UTF8)
1193+
if sys.version_info >= (3, 8):
1194+
os.utime(project.schema_path, (1602179630, 10000))
11921195

11931196
if is_type_configuration_available:
11941197
project.configuration_schema = {"properties": {}}

0 commit comments

Comments
 (0)