Skip to content

Commit 16385e6

Browse files
committed
Add argument to enhance portability: --skip-cache-invalidation
1 parent 6ed4f59 commit 16385e6

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

build_docs.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ def shell_out(cmd):
6363
raise
6464

6565

66-
def build_one(version, isdev, quick, sphinxbuild, build_root, www_root):
66+
def build_one(version, isdev, quick, sphinxbuild, build_root, www_root,
67+
skip_cache_invalidation=False):
6768
checkout = build_root + "/python" + str(version).replace('.', '')
6869
target = www_root + "/" + str(version)
6970
logging.info("Doc autobuild started in %s", checkout)
@@ -107,7 +108,7 @@ def build_one(version, isdev, quick, sphinxbuild, build_root, www_root):
107108
changed.append("archives/" + fn)
108109

109110
logging.info("%s files changed", len(changed))
110-
if changed:
111+
if changed and not skip_cache_invalidation:
111112
target_ino = os.stat(target).st_ino
112113
targets_dir = os.path.dirname(target)
113114
prefixes = []
@@ -123,12 +124,15 @@ def build_one(version, isdev, quick, sphinxbuild, build_root, www_root):
123124
logging.info("Finished %s", checkout)
124125

125126

126-
def build_devguide(devguide_checkout, devguide_target, sphinxbuild):
127+
def build_devguide(devguide_checkout, devguide_target, sphinxbuild,
128+
skip_cache_invalidation=False):
127129
logging.info("Building devguide")
128130
shell_out("git -C %s pull" % (devguide_checkout,))
129131
shell_out("%s %s %s" % (sphinxbuild, devguide_checkout, devguide_target))
130132
shell_out("chmod -R o+r %s" % (devguide_target,))
131-
# TODO Do Fastly invalidation.
133+
if not skip_cache_invalidation:
134+
# TODO Do Fastly invalidation.
135+
pass
132136

133137

134138
def parse_args():
@@ -164,6 +168,10 @@ def parse_args():
164168
"--devguide-target",
165169
help="Path where the generated devguide should be copied.",
166170
default="/srv/docs.python.org/devguide")
171+
parser.add_argument(
172+
"--skip-cache-invalidation",
173+
help="Skip fastly cache invalidation.",
174+
action="store_true")
167175
return parser.parse_args()
168176

169177

@@ -180,11 +188,14 @@ def parse_args():
180188
try:
181189
if args.branch:
182190
build_one(args.branch, args.devel, args.quick, sphinxbuild,
183-
args.build_root, args.www_root)
191+
args.build_root, args.www_root,
192+
args.skip_cache_invalidation)
184193
else:
185194
for version, devel in BRANCHES:
186195
build_one(version, devel, args.quick, sphinxbuild,
187-
args.build_root, args.www_root)
188-
build_devguide(args.devguide_checkout, args.devguide_target, sphinxbuild)
196+
args.build_root, args.www_root,
197+
args.skip_cache_invalidation)
198+
build_devguide(args.devguide_checkout, args.devguide_target,
199+
sphinxbuild, args.skip_cache_invalidation)
189200
except Exception:
190201
logging.exception("docs build raised exception")

0 commit comments

Comments
 (0)