Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

200 - Bundle format and multiple secrets support #198

Merged
merged 27 commits into from
Aug 16, 2021
Merged

Conversation

mrsarm
Copy link
Contributor

@mrsarm mrsarm commented Jul 23, 2021

Issue: #200

Implement build config and CI scripts to create bundle files (.aab) alongside .apk files for new apps, multiple secrets and scripts to create the secrets easily.

Changes

  • New bundle format supported as a separated task, so can be configured only the in the apps that is needed.
  • New Makefile scripts to create the secrets for signing apps + pepk generation needed in the Play Store. Also the process of encrypting the keystore and picking the right passwords is simplified in the scripts.
  • Add more guides in the README file of how to setup a new branded app and how to use the new scripts to create and manage keys.
  • First keystore created with the new scripts to sign the new flavor "Alerte Niger".

Other changes

  • The README is growing in size and the Releases section was too long too keep it there, I moved it to a new page.
  • Minor changes in the Instrumentation tests that started to fail again apparently because a bug in the plugin that setups the AVD emulator. (this was moved to another PR)
  • Remove Makefile tasks to generate with one command all the flavors, cannot be done now with one command without signing all the flavors with the same key, and in practice the tasks were never used.
  • Because the PR with the new app is still in progress, to test the new keystore I have re-enabled the Demo app (disabled in the releases and the Play Store) and sign it with the new key, and also used to test the .aab generation. The alpha release v0.9.0-bundle-support.5 contains all the APKs normally created, and the new .aab files only for this flavor. Also verifying the signatures of the APKs and AABs for this flavor you will notice that they are signed with the new keystore while the rest of the APKs are signed with the Medic keystore.

TO-DO

  • After merge the Alerte Niger PR into master, we need to rebase this branch and replace the demo app signing with the signing of the new brand. → Done.

@garethbowen @kitsao despite the TO-DO could you check the PR? for sure there is a lot to fix in the README, I'm not the best writing English documentation so I hope at least you can understand how to use the new scripts. Please suggest and add all the corrections necessary.

@kitsao could you also checkout the branch, and try to create locally a new keystore following the guides? It would be a good way to test whether the instruction are clear and work, and the scripts really work outside my machine :-)

@mrsarm mrsarm changed the title 164 - Bundle support and multiple secrets support 200 - Bundle format and multiple secrets support Aug 12, 2021
@mrsarm
Copy link
Contributor Author

mrsarm commented Aug 12, 2021

@garethbowen , @kitsao the PR with the Alerte Niger brand was merged into master and rebased on this branch, and I have added the changes to sign that branded app with the new keystore. To test the signing and the creation of the .aab files is correct I created a draft release v0.9.0-alpha.2 , and indeed the aab were created and uploaded, and signed along the .apk versions correctly, while the rest of the branded apps are still signed with the original signature.

Could you please review?

@mrsarm mrsarm marked this pull request as ready for review August 12, 2021 19:48
Copy link
Member

@garethbowen garethbowen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work. Thanks for the extensive documentation.

I've added a few minor suggestions inline but otherwise this is good to go!

- [feature] [cht-core#6380](https://github.com/medic/cht-core/issues/6380): Adds intent so opening deployment URLs will prompt to load in app
- [improvement] [cht-android#111](https://github.com/medic/cht-android/issues/111): Compliance with Play Store developer policies for PII collection disclosure
- [bug] [cht-core#6648](https://github.com/medic/cht-core/issues/6648): Blank screen when launching external apps from CHT Android app
Checkout the release notes in the [Changelog](CHANGELOG.md) page, our you can see the full release history with the installable files for sideloading [here](https://github.com/medic/cht-android/releases).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call pulling this out!

@@ -0,0 +1,71 @@
# Release notes

## 0.8.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add some documentation for 0.9.0, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'm going to add the release notes in this PR.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
mrsarm and others added 2 commits August 12, 2021 19:58
Co-authored-by: Gareth Bowen <gareth@medic.org>
Co-authored-by: Gareth Bowen <gareth@medic.org>
@mrsarm mrsarm merged commit d76e553 into master Aug 16, 2021
@mrsarm mrsarm deleted the 164-bundle-support branch August 26, 2021 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade scripts and guides to be able to publish new branded versions on Play Store
2 participants