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

Create androidenv package with accepted license so build can run with pure environment #8083

Merged
merged 2 commits into from May 6, 2019

Conversation

pedropombeiro
Copy link
Contributor

@pedropombeiro pedropombeiro commented Apr 30, 2019

Summary

This PR consists of 2 smaller PRs:

  • The first commit enables pure builds for Android:
    • cleans up some leftovers from other Nix PRs
    • creates a Nix expression that builds a utility Android SDK that has its licenses accepted. Instead of copying stuff to ~/.status/Android/Sdk we create symlinks to nixpkgs' androidenv package and add some files that contain the license file hashes symbolizing the acceptance. It's possible that a future change to sdkmanager might break this scheme, but there are hundreds of other projects using the same workaround (outside of nix community), so we're not really doing bleeding edge stuff here. We always have the ability to revert to the previous way.
    • does away with looking at whether an ANDROID_SDK_ROOT folder exists to determine whether to run scripts/setup and instead creates a hidden/ignored file in the repo as a marker.
    • moves to building Android artifacts in a pure environment (passing --pure to nix-shell so that the host environment has less chances of contaminating the build).
  • The second commit moves to using a nix package for fastlane on Android, removing the last barrier to pure builds.

Review notes

Looks like we'll need to reimport the project in snyk so that it can learn the new location for Gemfile.lock.

Testing notes

These changes should not affect the functionality, so the automated build should be enough of a test.

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Apr 30, 2019

Jenkins Builds

Click to see older builds (16)
Commit #️⃣ Finished (UTC) Duration Platform Result
6994611 #1 2019-04-30 13:52:11 ~37 sec android 📄 log
6994611 #1 2019-04-30 13:52:11 ~38 sec android-e2e 📄 log
3e152fc #2 2019-04-30 13:59:02 ~26 sec android-e2e 📄 log
3e152fc #2 2019-04-30 13:59:09 ~32 sec android 📄 log
✔️ 8787be6 #3 2019-04-30 14:24:29 ~15 min macos 📦 dmg
✔️ 8787be6 #3 2019-04-30 14:27:32 ~18 min android-e2e 📦 apk
✔️ 8787be6 #3 2019-04-30 14:31:21 ~22 min linux 📦 App
✔️ 8787be6 #3 2019-04-30 14:31:49 ~22 min ios 📦 ipa
✔️ 8787be6 #3 2019-04-30 14:32:10 ~23 min android 📦 apk
✔️ 8787be6 #3 2019-04-30 14:35:19 ~26 min windows 📦 exe
✔️ 4282565 #5 2019-04-30 17:38:57 ~14 min macos 📦 dmg
✔️ 4282565 #5 2019-04-30 17:40:18 ~15 min linux 📦 App
✔️ 4282565 #5 2019-04-30 17:44:46 ~19 min android-e2e 📦 apk
✔️ 4282565 #5 2019-04-30 17:46:15 ~21 min windows 📦 exe
✔️ 4282565 #5 2019-04-30 17:47:21 ~22 min ios 📦 ipa
✔️ 4282565 #5 2019-04-30 17:48:29 ~23 min android 📦 apk
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 0c8f5c7 #6 2019-04-30 18:28:14 ~15 min linux 📦 App
✔️ 0c8f5c7 #6 2019-04-30 18:32:05 ~19 min android-e2e 📦 apk
✔️ 0c8f5c7 #6 2019-04-30 18:33:30 ~20 min windows 📦 exe
✔️ 0c8f5c7 #6 2019-04-30 18:40:39 ~28 min ios 📦 ipa
✔️ 0c8f5c7 #7 2019-05-01 20:22:14 ~13 min macos 📦 dmg
✔️ 0c8f5c7 #7 2019-05-01 20:24:46 ~16 min android 📦 apk
✔️ dddce62 #7 2019-05-03 14:30:49 ~16 min linux 📦 App
✔️ dddce62 #8 2019-05-03 14:31:53 ~17 min macos 📦 dmg
✔️ dddce62 #7 2019-05-03 14:32:59 ~19 min android-e2e 📦 apk
✔️ dddce62 #7 2019-05-03 14:35:47 ~21 min windows 📦 exe
✔️ dddce62 #7 2019-05-03 14:37:26 ~23 min ios 📦 ipa
✔️ dddce62 #8 2019-05-03 14:41:08 ~27 min android 📦 apk

@status-im-auto
Copy link
Member

Jenkins Builds

Commit #️⃣ Finished (UTC) Duration Platform Result
6994611 #1 2019-04-30 13:52:11 ~37 sec android 📄 log

@pedropombeiro pedropombeiro force-pushed the feature/pure-android-build branch 4 times, most recently from 6799be2 to 4282565 Compare April 30, 2019 17:24
@status-github-bot
Copy link

status-github-bot bot commented Apr 30, 2019

Pull Request Checklist

  • Have you updated the documentation, if impacted (e.g. docs.status.im)?

@pedropombeiro pedropombeiro moved this from REVIEW to E2E Tests in Pipeline for QA May 3, 2019
@statustestbot
Copy link

96% of end-end tests have passed

Total executed tests: 48
Failed tests: 2
Passed tests: 46

Failed tests (2)

Click to expand
1. test_logcat_send_transaction_in_1_1_chat

Device 1: Tap on PassphraseInput
Device 1: Type 'style case lazy pole general section dawn royal slice evoke crowd boat' to PassphraseInput

Device 1: 'PasswordInput' is not found on the screen

Device sessions

2. test_backup_recovery_phrase_warning_from_wallet

Device 1: Wait for PlusButton
Device 1: Wait for PlusButton

Donation was not received during 300 seconds!

Device sessions

Passed tests (46)

Click to expand
1. test_block_user_from_public_chat
Device sessions

2. test_filters_from_daap
Device sessions

3. test_copy_and_paste_messages
Device sessions

4. test_send_transaction_from_daap
Device sessions

5. test_request_and_receive_tokens_in_1_1_chat
Device sessions

6. test_deploy_contract_from_daap
Device sessions

7. test_public_chat_messaging
Device sessions

8. test_password_in_logcat_sign_in
Device sessions

9. test_text_message_1_1_chat
Device sessions

10. test_add_to_contacts
Device sessions

11. test_sign_typed_message (TestRail link is not found)
Device sessions

12. test_unread_messages_counter_1_1_chat
Device sessions

13. test_logcat_send_transaction_from_daap
Device sessions

14. test_send_message_in_group_chat
Device sessions

15. test_logcat_send_transaction_from_wallet
Device sessions

16. test_send_token_with_7_decimals
Device sessions

17. test_modify_transaction_fee_values
Device sessions

18. test_send_eth_from_wallet_to_address
Device sessions

19. test_manage_assets
Device sessions

20. test_request_and_receive_eth_in_1_1_chat
Device sessions

21. test_swipe_to_delete_public_chat
Device sessions

22. test_send_emoji
Device sessions

23. test_search_chat_on_home
Device sessions

24. test_logcat_recovering_account
Device sessions

25. test_messaging_in_different_networks
Device sessions

26. test_send_tokens_in_1_1_chat
Device sessions

27. test_network_mismatch_for_send_request_commands
Device sessions

28. test_logcat_sign_message_from_daap
Device sessions

29. test_swipe_to_delete_1_1_chat
Device sessions

30. test_switch_users_and_add_new_account
Device sessions

31. test_send_stt_from_wallet
Device sessions

32. test_send_eth_in_1_1_chat
Device sessions

33. test_login_with_new_account
Device sessions

34. test_send_eth_from_wallet_to_contact
Device sessions

35. test_add_contact_from_public_chat
Device sessions

36. test_send_two_transactions_one_after_another_in_dapp
Device sessions

37. test_password_in_logcat_creating_account
Device sessions

38. test_backup_recovery_phrase
Device sessions

39. test_offline_status
Device sessions

40. test_open_google_com_via_open_dapp
Device sessions

41. test_unread_messages_counter_public_chat
Device sessions

42. test_sign_message_from_daap
Device sessions

43. test_user_can_remove_profile_picture
Device sessions

44. test_share_contact_code_and_wallet_address
Device sessions

45. test_request_eth_in_wallet
Device sessions

46. test_refresh_button_browsing_app_webview
Device sessions

@pedropombeiro pedropombeiro moved this from E2E Tests to REVIEW in Pipeline for QA May 3, 2019
@pedropombeiro
Copy link
Contributor Author

@jakubgs This PR is almost ready to merge, we just need to reimport the project in snyk so that it can learn the new location for Gemfile.lock.

Pedro Pombeiro added 2 commits May 6, 2019 11:56
- iOS still has issues with native Ruby dependencies

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
@pedropombeiro pedropombeiro merged commit 9d1e266 into develop May 6, 2019
Pipeline for QA automation moved this from REVIEW to DONE May 6, 2019
@delete-merged-branch delete-merged-branch bot deleted the feature/pure-android-build branch May 6, 2019 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

6 participants