... |
... |
@@ -242,6 +242,7 @@ class ReleasePreparation: |
242
|
242
|
logger.debug("About to fetch Firefox from %s.", remote)
|
243
|
243
|
repo.remotes["origin"].fetch()
|
244
|
244
|
tags = get_sorted_tags(repo)
|
|
245
|
+ tag_info = None
|
245
|
246
|
for t in tags:
|
246
|
247
|
m = re.match(
|
247
|
248
|
r"(\w+-browser)-([^-]+)-([\d\.]+)-(\d+)-build(\d+)", t.tag
|
... |
... |
@@ -251,8 +252,21 @@ class ReleasePreparation: |
251
|
252
|
and m.group(1) == browser
|
252
|
253
|
and m.group(3) == self.version.major
|
253
|
254
|
):
|
|
255
|
+ logger.debug("Matched tag %s.", t.tag)
|
254
|
256
|
# firefox-version, rebase, build
|
255
|
|
- return (m.group(2), int(m.group(4)), int(m.group(5)))
|
|
257
|
+ tag_info = [m.group(2), int(m.group(4)), int(m.group(5))]
|
|
258
|
+ break
|
|
259
|
+ if tag_info is None:
|
|
260
|
+ raise RuntimeError("No compatible tag found.")
|
|
261
|
+ branch = t.tag[: m.end(4)]
|
|
262
|
+ logger.debug("Checking if tag %s is head of %s.", t.tag, branch)
|
|
263
|
+ if t.object != repo.remotes["origin"].refs[branch].commit:
|
|
264
|
+ logger.info(
|
|
265
|
+ "Found new commits after tag %s, bumping the build number preemptively.",
|
|
266
|
+ t.tag,
|
|
267
|
+ )
|
|
268
|
+ tag_info[2] += 1
|
|
269
|
+ return tag_info
|
256
|
270
|
|
257
|
271
|
def update_translations(self):
|
258
|
272
|
logger.info("Updating translations")
|
... |
... |
@@ -373,9 +387,7 @@ class ReleasePreparation: |
373
|
387
|
|
374
|
388
|
source = self.find_input(config, "openssl")
|
375
|
389
|
# No need to update URL, as it uses a variable.
|
376
|
|
- hash_url = (
|
377
|
|
- f"https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz.sha256"
|
378
|
|
- )
|
|
390
|
+ hash_url = f"https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz.sha256"
|
379
|
391
|
r = requests.get(hash_url)
|
380
|
392
|
r.raise_for_status()
|
381
|
393
|
source["sha256sum"] = r.text.strip()
|