You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug 2026043 - Require Option<T> for gecko-pref variables and require null defaults by default (#7296)
In bug 2020683 we made the default field mutually exclusive with
gecko-pref. However, this lead to another error, namely that gecko-pref
was only valid for string, integer, and boolean types and `null` is not
a valid value for these types. This issue lead to a backout in bug 2025587.
This patch re-adds the requirement of null defaults for gecko-pref
variables but also adds the requirement that these variables must be
`Option<T>`, where `T` is a string, boolean, or integer.
These constraints *can* be overridden by supplying the
`--lax-gecko-pref-validation` flag to the `fml single-file`,
`fml generate-experimenter`, and `fml validate` commands. This will
allow Experimenter to continue to ingest manifests without error.
Once the invalid manifest is ingested into Experimenter, we can manually
edit the manifest to remove the invalid feature and eventually disable
this validation mode.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,9 @@
1
1
# v151.0 (In progress)
2
2
3
3
## ⚠️ Breaking Changes ⚠️
4
-
- `nimbus-fml validate` no longer enforces that variables do not use both `gecko-pref` and `default` due to causing CI failures in Experimenter.
4
+
- It is now enforced by `nimbus-fml` that feature variables using gecko-pref must be have `type: Option<T>`, for `T` in `Boolean`, `Int`, and `String`.
5
+
- `nimbus-fml` commands now all have a `--lax-gecko-pref-validation` flag to bypass the above restriction, as well as the restriction that `gecko-pref` and `default` are mutually exclusive.
6
+
- The `FmlLoaderConfig` now has a `lax_gecko_pref_validation` field to allow `FmlClient` consumers (i.e., Experimenter) to opt-in to lax validation.
0 commit comments