Find
C
ase-sensitive
R
egexp search
Path
Showing
3c84fbe6
from
2026-09-05
:
Submodule update at Sat Sep 5 04:12:47 UTC 2026
mozilla-mobile
/
firefox-ios
/
scripts
Navigation
Enable keyboard shortcuts
Name
Description
Size
Coverage
install-swiftlint.sh
2861
-
nightly_testflight_add_group.py
Generates a JWT token using the given credentials.
5805
-
test_update_release_notes.py
Tests for update_release_notes.py. python3 -m pip install pytest pyjwt cryptography requests python3 -m pytest scripts/test_update_release_notes.py The App Store Connect API is replaced by FakeSession, so nothing here touches the network. The real AppStoreConnectClient is used throughout, so retry, pagination, and token handling are exercised rather than stubbed.
24708
-
update_from_application_services.py
Encapsulates converting an A-S version into the semver Swift expects.
8689
-
update_release_notes.py
Writes the App Store "What's New in This Version" text to every locale. App Store Connect stores release notes as one appStoreVersionLocalization record per locale. This script asks the API which locales exist on the version instead of hardcoding them, so there is nothing to map from the app's .lproj directories onto App Store Connect locale codes (which differ: zh-Hans, pt-BR, en-GB) and nothing to update when locales are added or dropped. The App Store version record must already exist in App Store Connect and still be editable. This script fills in release notes; it does not create the version. App Store Connect API reference for the four calls this makes: Sign a JWT https://developer.apple.com/documentation/appstoreconnectapi/generating-tokens-for-api-requests Find the version https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-appstoreversions List its localizations https://developer.apple.com/documentation/appstoreconnectapi/get-v1-appstoreversions-_id_-appstoreversionlocalizations Write the release notes https://developer.apple.com/documentation/appstoreconnectapi/patch-v1-appstoreversionlocalizations-_id_ Supporting reference: appStoreVersionLocalization attributes, including whatsNew https://developer.apple.com/documentation/appstoreconnectapi/appstoreversionlocalization Version states https://developer.apple.com/documentation/appstoreconnectapi/appversionstate https://developer.apple.com/documentation/appstoreconnectapi/appstoreversionstate Cursor pagination via links.next https://developer.apple.com/documentation/appstoreconnectapi/pageddocumentlinks Rate limits and error bodies https://developer.apple.com/documentation/appstoreconnectapi/identifying-rate-limits https://developer.apple.com/documentation/appstoreconnectapi/interpreting-and-handling-errors Credentials come from the same environment variables as scripts/nightly_testflight_add_group.py: APPSTORECONNECT_APIKEY_ISSUER_ID APPSTORECONNECT_APIKEY_KEY_ID APPSTORECONNECT_APIKEY_B64 base64-encoded .p8 private key APPSTORE_APP_ID The version is never inferred from version.txt: that file tracks whichever branch the build ran from, and main runs ahead of the release branches, so it would point at the wrong version record. State it explicitly, or leave it out and let the one editable version be found. Examples: # Same text in every locale, targeting the one editable version RELEASE_NOTES="Bug fixes and performance improvements." \\ python3 scripts/update_release_notes.py # Preview without writing anything python3 scripts/update_release_notes.py --version 154.1 \\ --notes-file notes.txt --dry-run # Per-locale text, with a fallback for the locales not listed python3 scripts/update_release_notes.py --notes-json notes.json
29087
-