brizental pushed to branch main at The Tor Project / Applications / tor-browser-bundle-testsuite Commits: 1bdaea90 by Beatriz Rizental at 2026-05-06T12:59:12-03:00 Bug 40101: Figure the android-sdk URL dinamically - - - - - 2 changed files: - .gitlab/_base.yml - .gitlab/scripts/before_script.py Changes: ===================================== .gitlab/_base.yml ===================================== @@ -78,8 +78,7 @@ variables: - when: never variables: - # TODO (tor-browser-bundle-testsuite#40101): Stop hardcoding the filename here. - ANDROID_SDK_REPACK_URL: "https://tb-build-06.torproject.org/~tb-builder/tor-browser-build/out/android..." + SETUP_ANDROID_SDK: 1 INSTALLER_URL: "$[[ inputs.android_x86_64_installer_url ]]" ARTIFACTS_URL: "$[[ inputs.android_x86_64_artifacts_url ]]" PACKAGE_NAME: "$[[ inputs.android_x86_64_package_name ]]" ===================================== .gitlab/scripts/before_script.py ===================================== @@ -6,6 +6,7 @@ import time import urllib.request import zipfile from pathlib import Path +import re SPECULATIVE_DOWNLOAD_RETRY_ATTEMPTS = 3 SPECULATIVE_DOWNLOAD_RETRY_DELAY = 300 # 5min @@ -14,6 +15,10 @@ SPECULATIVE_DOWNLOAD_RETRY_DELAY = 300 # 5min # expects the emulator to have a this exact android version. EMULATOR_ANDROID_VERSION = 34 +TOR_BROWSER_BUILD_OUT = ( + "https://tb-build-06.torproject.org/~tb-builder/tor-browser-build/out" +) + def download_file(url: str, dest: Path, sha256: str = "") -> None: print(f"Downloading {url} -> {dest}") @@ -77,15 +82,27 @@ def download_minidump_stackwalk( print(f"Extracted minidump-stackwalk -> {dest_dir}") -def setup_android_sdk( - moz_fetches_dir: str, - android_sdk_repack_url: str, -) -> None: +def get_android_sdk_repack_url(): + url = f"{TOR_BROWSER_BUILD_OUT}/android-sdk?C=M;O=D" + req = urllib.request.Request(url, method="GET") + with urllib.request.urlopen(req) as response: + html = response.read().decode() + found = re.search( + r'<a href="(android-sdk-[^"]+\.tar\.zst)"', + html, + ) + if not found: + raise RuntimeError(f"Could not find android-sdk tarball URL in {url}") + + return f"{url}/{found.group(1)}" + + +def setup_android_sdk(moz_fetches_dir: str) -> None: android_sdk_dir = Path(moz_fetches_dir) / "android-sdk-linux" android_sdk_dir.mkdir(parents=True, exist_ok=True) tar_zst_path = Path("android-sdk.tar.zst") - download_file(android_sdk_repack_url, tar_zst_path) + download_file(get_android_sdk_repack_url(), tar_zst_path) extract_tar(tar_zst_path, android_sdk_dir) # Remove fake emulator binary added by tor-browser-build @@ -139,7 +156,7 @@ def before_script( minidump_stackwalk_sha256: str, moz_fetches_dir: str, sha256sums_url: str = "", - android_sdk_repack_url: str = "", + setup_android: bool = False, ) -> None: check_sha256sums_url(sha256sums_url) download_mozharness(mozharness_url) @@ -147,11 +164,8 @@ def before_script( minidump_stackwalk_url, moz_fetches_dir, minidump_stackwalk_sha256 ) - if android_sdk_repack_url: - setup_android_sdk( - moz_fetches_dir, - android_sdk_repack_url, - ) + if setup_android: + setup_android_sdk(moz_fetches_dir) if __name__ == "__main__": @@ -161,6 +175,5 @@ if __name__ == "__main__": minidump_stackwalk_sha256=os.environ.get("MINIDUMP_STACKWALK_SHA256", ""), moz_fetches_dir=os.environ["MOZ_FETCHES_DIR"], sha256sums_url=os.environ.get("SHA256SUMS_URL", ""), - # Android-only stuff. - android_sdk_repack_url=os.environ.get("ANDROID_SDK_REPACK_URL", ""), + setup_android="SETUP_ANDROID_SDK" in os.environ, ) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite/... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite/... You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
participants (1)
-
brizental (@brizental)