Figure out how to make signing release builds easier for developers
mcomella opened this issue · 3 comments
Post GA?
Why/User Benefit/User Problem
In order to use "release" build variants like forPerformanceTest
, we have to do our own signing. However, it's non-trivial integrate release signing into the regular Android Studio build process: this bug is to make it easy.
Impact
Without this, setting up local performance builds is an annoyance: developers have to do something hacky like adding local signing configurations and remember not to check them into the tree.
Acceptance Criteria (how do I know when I’m done?)
- It is easy for developers to create signed
forPerformanceTest
builds - Documentation (e.g. in README) is updated
- Folks are notified of any changes to their workflow
Solution ideas:
- We check a debug.keystore into the tree that signs
forPerformanceTest
builds and provide a signing config for it - Developers can specify a path to their debug.keystore and it will integrate the signing
- Developers add custom run configs with signing in AS
Can we just land the signingConfigs.debug
line, as suggested in the wiki, in-tree? This would sign all forPerformanceTest
builds with the debug keystore. This seems fine to me since we're not releasing the builds. We might have to update the TC configs though such that it no longer tries to sign forPerformanceTest
builds with a release configuration.
@hawkinsw What do you think?
Can we just land the
signingConfigs.debug
line, as suggested in the wiki, in-tree? This would sign allforPerformanceTest
builds with the debug keystore. This seems fine to me since we're not releasing the builds. We might have to update the TC configs though such that it no longer tries to signforPerformanceTest
builds with a release configuration.@hawkinsw What do you think?
Yes! I agree! That is, of course, with the caveat that I see no documentation anywhere about the validity of the signingConfigs
object. That's not our problem -- just the sad state of the gradle Android build documentation, as far as I can tell. :-)
Addressed with mozilla-mobile/fenix#12438.