Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions api/src/shipit_api/admin/product_details.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import sqlalchemy
import sqlalchemy.orm
from mozilla_version.gecko import FirefoxVersion
from mozilla_version.ios import MobileIosVersion
from mozilla_version.mobile import MobileVersion

import cli_common.command
Expand Down Expand Up @@ -996,9 +997,14 @@ def get_mobile_versions(releases: typing.List[shipit_api.common.models.Release],
"ios_version": "9.0",
}
"""

def is_version_ios_beta(version):
version = MobileIosVersion.parse(version)
return version.minor_number == 0 and version.patch_number is None

return dict(
ios_beta_version=shipit_api.common.config.IOS_BETA_VERSION,
ios_version=shipit_api.common.config.IOS_VERSION,
ios_beta_version=get_latest_version(releases, Product.FIREFOX_IOS, filter_closure=lambda r: is_version_ios_beta(r.version)),
ios_version=get_latest_version(releases, Product.FIREFOX_IOS, filter_closure=lambda r: not is_version_ios_beta(r.version)),
nightly_version=firefox_nightly_version,
alpha_version=firefox_nightly_version,
beta_version=get_latest_version(releases, Product.FIREFOX_ANDROID, filter_closure=lambda r: MobileVersion.parse(r.version).is_beta),
Expand Down
4 changes: 0 additions & 4 deletions api/src/shipit_api/common/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@
# still rely on this value.
FIREFOX_AURORA = ""

# IOS versions
IOS_BETA_VERSION = ""
IOS_VERSION = ""

# Thunderbird configs
LATEST_THUNDERBIRD_ALPHA_VERSION = "54.0a2"

Expand Down
22 changes: 22 additions & 0 deletions api/tests/test_product_details.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,23 @@ async def test_rebuild(app, tmp_path):
status="shipped",
partial_updates=None,
)
for branch, version in (
("release/v135", "135.0"),
("release/v135", "135.1"),
("release/v135", "135.1.1"),
("release/v136", "136.0"),
):
ios_release = Release(
product="firefox-ios",
branch=branch,
version=version,
revision="9fb87e89c26069198ce2a59a0a790a264d225169",
build_number=1,
release_eta=None,
status="shipped",
partial_updates=None,
)
app.app.db.session.add(ios_release)
app.app.db.session.add(fxnightly)
app.app.db.session.add(tbnightly)
app.app.db.session.add(deved)
Expand Down Expand Up @@ -220,3 +237,8 @@ async def test_rebuild(app, tmp_path):

assert not list(parent.glob("l10n/Devedition-*"))
assert next(parent.glob("l10n/Firefox-134.0b8-*")).name == "Firefox-134.0b8-build1.json"

with (parent / "mobile_versions.json").open() as f:
mobile_versions = json.load(f)
assert mobile_versions["ios_beta_version"] == "136.0"
assert mobile_versions["ios_version"] == "135.1.1"