-
Notifications
You must be signed in to change notification settings - Fork 220
Description
Extend the manifesttool fetch process to also download targeting context source files for each app and version.
-
Add a targeting_files field to the AppConfig model in appconfig.py — a list of repo-relative file paths to fetch.
-
Configure in apps.yaml:
- firefox-desktop: toolkit/components/nimbus/lib/TargetingContextRecorder.sys.mjs
- fenix: mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/RecordedNimbusContext.kt
- ios: firefox-ios/Client/Experiments/RecordedNimbusContext.swift
-
In fetch.py, after fetching manifests for each app/version, also download the configured targeting files via github_api.fetch_file() and store them in the app's version directory (e.g., firefox-desktop/v136.0.0/TargetingContextRecorder.sys.mjs).
-
Same for the unversioned (latest) copy in the app root directory.
Since the manifesttool already resolves refs, handles caching, and iterates over versions, this piggybacks on all of that. The existing hourly update_external_configs CI job picks up changes automatically.
Acceptance Criteria:
- apps.yaml has a targeting_files list per app
- make feature_manifests (which runs the manifesttool) also fetches targeting context files
- Files are stored versioned (e.g., firefox-desktop/v136.0.0/TargetingContextRecorder.sys.mjs) and unversioned (latest)
- The existing hourly update_external_configs CI job picks up changes automatically (no separate job needed)
┆Issue is synchronized with this Jira Task