{"record":{"id":"4446389ab35fe460","repo":"SeleniumHQ/selenium","slug":"no-chromedriver-download-found-for-platform-mac-a","errorCode":null,"errorMessage":"No chromedriver download found for platform 'mac-arm64'","messagePattern":"No chromedriver download found for platform 'mac-arm64'","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"scripts/pinned_browsers.py","lineNumber":81,"sourceCode":"        sha256 = \"{sha}\",\n        strip_prefix = \"chromedriver-linux64\",\n        build_file_content = \\\"\\\"\\\"\nload(\"@aspect_rules_js//js:defs.bzl\", \"js_library\")\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"chromedriver\"])\n\njs_library(\n    name = \"chromedriver-js\",\n    data = [\"chromedriver\"],\n)\n\\\"\\\"\\\",\n    )\n\"\"\"\n\n    url = next((d[\"url\"] for d in drivers if d[\"platform\"] == \"mac-arm64\"), None)\n    if url is None:\n        raise ValueError(\"No chromedriver download found for platform 'mac-arm64'\")\n    sha = calculate_hash(url)\n\n    content += f\"\"\"\n    http_archive(\n        name = \"mac_{workspace_prefix}chromedriver\",\n        url = \"{url}\",\n        sha256 = \"{sha}\",\n        strip_prefix = \"chromedriver-mac-arm64\",\n        build_file_content = \\\"\\\"\\\"\nload(\"@aspect_rules_js//js:defs.bzl\", \"js_library\")\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"chromedriver\"])\n\njs_library(\n    name = \"chromedriver-js\",\n    data = [\"chromedriver\"],\n)","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/scripts/pinned_browsers.py#L63-L99","documentation":"Raised by the chromedriver() function in pinned_browsers.py when the selected Chrome version's downloads JSON contains no 'chromedriver' entry with platform 'mac-arm64'. Same pattern as the linux64 check: it searches for d['platform'] == 'mac-arm64' and raises if no match is found.","triggerScenarios":"Running pinned_browsers.py when Chrome-for-Testing has not published a mac-arm64 chromedriver for the selected milestone; the platform naming changed (e.g., from 'mac-arm64' to a different identifier); the milestone predates Apple Silicon support.","commonSituations":"Chrome-for-Testing mid-release where mac-arm64 is not yet available; schema/platform name change in the upstream JSON; CI running during a milestone transition window.","solutions":["Retry after a delay — mac-arm64 may be published shortly after other platforms.","Manually verify the JSON payload at googlechromelabs.github.io to confirm the platform key name.","If the platform identifier changed upstream, update the filter in pinned_browsers.py.","Pin to a version known to have mac-arm64 artifacts."],"exampleFix":"null","handlingStrategy":"validation","validationCode":"drivers = selected_version['downloads']['chromedriver']\nplatforms = [d['platform'] for d in drivers]\nif 'mac-arm64' not in platforms:\n    print(f'mac-arm64 not in available platforms: {platforms}')","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Verify the Chrome-for-Testing JSON has mac-arm64 artifacts before running.","Run after milestone propagation is complete.","Retry if the platform is temporarily missing."],"tags":["selenium","build-script","pinned-browsers","chromedriver","mac-arm64","ci"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}