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

chore(deps)_: use gradle plugin to get deps #21502

Merged
merged 1 commit into from
Oct 29, 2024

Conversation

siddarthkay
Copy link
Contributor

@siddarthkay siddarthkay commented Oct 25, 2024

related issue : #15447

Summary

This PR makes use of https://github.com/gradle/github-dependency-graph-gradle-plugin to generate deps so that we may get rid of the AWK script that parses gradle output to figure out gradle dependencies.

credits to @mendelskiv93 for doing initial research on this dependency generator plugin.

We still miss a few dependencies and are not completely able to get rid of the hack list step just yet.

I also moved react-native-share out of pluginManagement block in android/settings.gradle because it does not belong there.

Testing notes

not needed since we only change fetching build dependencies in this PR

Platforms

  • Android

status: ready

@siddarthkay siddarthkay self-assigned this Oct 25, 2024
@siddarthkay siddarthkay requested a review from jakubgs as a code owner October 25, 2024 12:28
@siddarthkay siddarthkay force-pushed the generate-gradle-deps-properly branch 2 times, most recently from 819812c to 86eaaac Compare October 25, 2024 12:33
@status-im-auto
Copy link
Member

status-im-auto commented Oct 25, 2024

Jenkins Builds

Click to see older builds (12)
Commit #️⃣ Finished (UTC) Duration Platform Result
86eaaac #3 2024-10-25 12:37:12 ~3 min android 📄log
86eaaac #3 2024-10-25 12:38:11 ~4 min android-e2e 📄log
✔️ 86eaaac #3 2024-10-25 12:38:12 ~4 min tests 📄log
✔️ 86eaaac #3 2024-10-25 12:43:32 ~9 min ios 📱ipa 📲
✔️ c64599f #4 2024-10-25 13:21:25 ~4 min tests 📄log
✔️ c64599f #4 2024-10-25 13:23:24 ~6 min android-e2e 🤖apk 📲
✔️ c64599f #4 2024-10-25 13:25:09 ~8 min android 🤖apk 📲
✔️ c64599f #4 2024-10-25 13:26:36 ~9 min ios 📱ipa 📲
✔️ af9a031 #5 2024-10-26 07:47:39 ~4 min tests 📄log
✔️ af9a031 #5 2024-10-26 07:50:06 ~6 min android 🤖apk 📲
✔️ af9a031 #5 2024-10-26 07:50:12 ~7 min android-e2e 🤖apk 📲
✔️ af9a031 #5 2024-10-26 07:53:11 ~10 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 780dc35 #6 2024-10-28 13:04:42 ~4 min tests 📄log
✔️ 780dc35 #6 2024-10-28 13:07:52 ~7 min android 🤖apk 📲
✔️ 780dc35 #6 2024-10-28 13:09:01 ~9 min android-e2e 🤖apk 📲
✔️ 780dc35 #6 2024-10-28 13:10:39 ~10 min ios 📱ipa 📲
✔️ 2a8edd7 #7 2024-10-29 06:01:56 ~4 min tests 📄log
✔️ 2a8edd7 #7 2024-10-29 06:05:25 ~7 min android-e2e 🤖apk 📲
✔️ 2a8edd7 #7 2024-10-29 06:06:02 ~8 min android 🤖apk 📲
✔️ 2a8edd7 #7 2024-10-29 06:07:44 ~9 min ios 📱ipa 📲

@siddarthkay siddarthkay force-pushed the generate-gradle-deps-properly branch from 86eaaac to c64599f Compare October 25, 2024 13:16
@status-im-auto
Copy link
Member

0% of end-end tests have passed

Total executed tests: 8
Failed tests: 8
Expected to fail tests: 0
Passed tests: 0
IDs of failed tests: 727230,703133,727231,702745,702742,740490,727229,702843 

Failed tests (8)

Click to expand
  • Rerun failed tests

  • Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    Test setup failed: critical/test_wallet.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_wallet_send_eth, id: 727229

    Test setup failed: critical/test_wallet.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231

    Test setup failed: critical/test_wallet.py:200: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_wallet_balance_mainnet, id: 740490

    Test setup failed: critical/test_wallet.py:200: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Test setup failed: critical/chats/test_public_chat_browsing.py:311: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Test setup failed: critical/chats/test_public_chat_browsing.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_community_copy_and_paste_message_in_chat_input, id: 702742

    Test setup failed: critical/chats/test_public_chat_browsing.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Copy link
    Member

    @jakubgs jakubgs left a comment

    Choose a reason for hiding this comment

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

    Promising.

    @siddarthkay siddarthkay force-pushed the generate-gradle-deps-properly branch from c64599f to af9a031 Compare October 26, 2024 07:42
    @siddarthkay siddarthkay requested review from a team October 26, 2024 07:44
    @status-im-auto
    Copy link
    Member

    75% of end-end tests have passed

    Total executed tests: 8
    Failed tests: 2
    Expected to fail tests: 0
    Passed tests: 6
    
    IDs of failed tests: 703133,702843 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    # STEP: Check that removed user is not shown in the list anymore
    Device 1: Wait for element `Button` for max 30s and click when it is available

    critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.show_profiles_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]
    Device 2: Wait for element Button for max 120s and click when it is available

    Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:420: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Passed tests (6)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    2. test_wallet_balance_mainnet, id: 740490

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    @status-im-auto
    Copy link
    Member

    75% of end-end tests have passed

    Total executed tests: 8
    Failed tests: 2
    Expected to fail tests: 0
    Passed tests: 6
    
    IDs of failed tests: 703133,702843 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    # STEP: Check that removed user is not shown in the list anymore
    Device 1: Wait for element `Button` for max 30s and click when it is available

    critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.show_profiles_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]
    Device 2: Wait for element Button for max 120s and click when it is available

    Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:420: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Passed tests (6)

    Click to expand

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    2. test_wallet_balance_mainnet, id: 740490

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    @siddarthkay siddarthkay requested a review from jakubgs October 28, 2024 08:51
    @siddarthkay siddarthkay force-pushed the generate-gradle-deps-properly branch from af9a031 to 780dc35 Compare October 28, 2024 12:59
    Copy link
    Member

    @jakubgs jakubgs left a comment

    Choose a reason for hiding this comment

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

    My beautiful nix/deps/gradle/gradle_parser.awk script... you will be missed.

    @seanstrom
    Copy link
    Member

    Nice stuff 🙌

    I've tried building the android app with a simulator using make run-android, and it all seems to build fine on my side. Is there anything else I should try to run for these changes?

    @siddarthkay
    Copy link
    Contributor Author

    Thanks for testing locally.

    Is there anything else I should try to run for these changes?

    No that should be enough!

    related issue : #15447
    
    This PR makes use of https://github.com/gradle/github-dependency-graph-gradle-plugin to generate deps so that we may get rid of the AWK script that parses `gradle` output to figure out `gradle` dependencies.
    
    credits to @mendelskiv93 for doing initial research on this dependency generator plugin.
    
    We still miss a few dependencies and are not completely able to get rid of the hack list step just yet.
    
    I also moved `react-native-share` out of  `pluginManagement ` block in `android/settings.gradle` because it does not belong there.
    @siddarthkay siddarthkay force-pushed the generate-gradle-deps-properly branch from 780dc35 to 2a8edd7 Compare October 29, 2024 05:57
    @siddarthkay siddarthkay merged commit fd9e827 into develop Oct 29, 2024
    5 checks passed
    @siddarthkay siddarthkay deleted the generate-gradle-deps-properly branch October 29, 2024 06:09
    ilmotta pushed a commit that referenced this pull request Oct 29, 2024
    related issue : #15447
    
    This commit makes use of https://github.com/gradle/github-dependency-graph-gradle-plugin to generate deps so that we may get rid of the AWK script that parses `gradle` output to figure out `gradle` dependencies.
    
    credits to Vedran for doing initial research on this dependency generator plugin.
    
    We still miss a few dependencies and are not completely able to get rid of the hack list step just yet.
    
    I also moved `react-native-share` out of  `pluginManagement ` block in `android/settings.gradle` because it does not belong there.
    ulisesmac pushed a commit that referenced this pull request Oct 30, 2024
    related issue : #15447
    
    This commit makes use of https://github.com/gradle/github-dependency-graph-gradle-plugin to generate deps so that we may get rid of the AWK script that parses `gradle` output to figure out `gradle` dependencies.
    
    credits to Vedran for doing initial research on this dependency generator plugin.
    
    We still miss a few dependencies and are not completely able to get rid of the hack list step just yet.
    
    I also moved `react-native-share` out of  `pluginManagement ` block in `android/settings.gradle` because it does not belong there.
    ilmotta pushed a commit that referenced this pull request Oct 30, 2024
    related issue : #15447
    
    This commit makes use of https://github.com/gradle/github-dependency-graph-gradle-plugin to generate deps so that we may get rid of the AWK script that parses `gradle` output to figure out `gradle` dependencies.
    
    credits to Vedran for doing initial research on this dependency generator plugin.
    
    We still miss a few dependencies and are not completely able to get rid of the hack list step just yet.
    
    I also moved `react-native-share` out of  `pluginManagement ` block in `android/settings.gradle` because it does not belong there.
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    Status: DONE
    Development

    Successfully merging this pull request may close these issues.

    5 participants