Open Bug 1210385 Opened 9 years ago Updated 2 years ago

Add a build step to check whether our downloadable fonts have changed

Categories

(Firefox Build System :: Android Studio and Gradle Integration, defect)

All
Android
defect

Tracking

(firefox44 affected)

Tracking Status
firefox44 --- affected

People

(Reporter: rnewman, Unassigned)

References

Details

We will be keeping a set of fonts on a CDN. Those fonts will be sourced from m-c. They almost never change — it's two years since they last did — but if they do we want a reminder that someone needs to do some work.

I'd like to add a build step that checks to see if the fonts in the repo have changed, and fails until that check is bumped. This should be pretty similar to our GeneratedJNI check.

Perhaps:

---
This build changes the fonts packaged with Fennec. These fonts are downloaded over the air from a CDN; see Bug 1194338. Before we'll finish building, you need to change <some file> to refer to the combined hash of the shipped fonts. You should do this after filing a bug to have the new or changed fonts added to Fennec's hardcoded catalog, the CDN, and Kinto.
---
rnewman: Is the intention to pin a Fennec build to a particular set of assets?  That is, we want a Fennec build to only download fonts with certain hashes, and the set of hashes can be computed from in-tree assets at build time?

Is there a reason to pin so strictly?

I can see two ways to do this.  The first is to calculate the hashes as a build step at build time.

The second is to manually manage the set of hashes in a source file in the tree, and make a build step that fails if the hashes get out of date with the source files.  The latter is certainly simpler for non build experts.  (I think the latter is what rnewman requested.)
Flags: needinfo?(s.kaspari)
Flags: needinfo?(rnewman)
(In reply to Nick Alexander :nalexander from comment #1)
> rnewman: Is the intention to pin a Fennec build to a particular set of
> assets?  That is, we want a Fennec build to only download fonts with certain
> hashes, and the set of hashes can be computed from in-tree assets at build
> time?

The reason for that is that we want people to remember that there's a CDN / server-side component that needs to be updated when fonts are updated / added / removed. Otherwise font changes will not have any effect on the app after we flip MOZ_ANDROID_EXCLUDE_FONTS and activate the download content service.
Flags: needinfo?(s.kaspari)
Yup. We want someone to have to take specific manual steps to complete a build if they change the fonts in the tree, and for the specific failure to tell them how to update the downloadable assets.
Flags: needinfo?(rnewman)
Product: Firefox for Android → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.