-
Notifications
You must be signed in to change notification settings - Fork 7
219 lines (211 loc) · 11.9 KB
/
auto_test_android.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
name: Auto test Android
on:
schedule:
- cron: "0 17 * * *"
workflow_dispatch:
# push:
# branches:
# - update_autotest
jobs:
build:
runs-on: [ self-hosted, macOS ]
steps:
# Checkout code and get packages.
- name: Checkout code
uses: actions/checkout@v3
# Set build number
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.0"
channel: stable
- name: Set env
run: |
echo "FLUTTER_VERSION_NAME=0.100.0" >> $GITHUB_ENV
echo "FLUTTER_VERSION_CODE=10" >> $GITHUB_ENV
echo "BRANCH_KEY=${{ secrets.BRANCH_KEY }}" >> $GITHUB_ENV
echo "BRANCH_KEY_TEST=${{ secrets.BRANCH_KEY_TEST }}" >> $GITHUB_ENV
- name: Create env file
run: |
touch .env
# echo INDEXER_MAINNET_API_URL=${{ secrets.INDEXER_MAINNET_API_URL }} >> .env
# echo INDEXER_TESTNET_API_URL=${{ secrets.INDEXER_TESTNET_API_URL }} >> .env
# echo WEB3_RPC_MAINNET_URL=${{ secrets.WEB3_RPC_TESTNET_URL }} >> .env
# echo WEB3_RPC_TESTNET_URL=${{ secrets.WEB3_RPC_TESTNET_URL }} >> .env
# echo TEZOS_NODE_CLIENT_MAINNET_URL=${{ secrets.TEZOS_NODE_CLIENT_MAINNET_URL }} >> .env
# echo TEZOS_NODE_CLIENT_TESTNET_URL=${{ secrets.TEZOS_NODE_CLIENT_TESTNET_URL }} >> .env
# echo BITMARK_API_MAINNET_URL=${{ secrets.BITMARK_API_MAINNET_URL }} >> .env
# echo BITMARK_API_TESTNET_URL=${{ secrets.BITMARK_API_TESTNET_URL }} >> .env
# echo FERAL_FILE_API_MAINNET_URL=${{ secrets.FERAL_FILE_API_MAINNET_URL }} >> .env
# echo FERAL_FILE_API_TESTNET_URL=${{ secrets.FERAL_FILE_API_TESTNET_URL }} >> .env
# echo FERAL_FILE_SECRET_KEY_TESTNET=${{ secrets.FERAL_FILE_SECRET_KEY_TESTNET }} >> .env
# echo FERAL_FILE_SECRET_KEY_MAINNET=${{ secrets.FERAL_FILE_SECRET_KEY_MAINNET }} >> .env
# echo FERAL_FILE_ASSET_URL_TESTNET=${{ secrets.FERAL_FILE_ASSET_URL_TESTNET }} >> .env
# echo FERAL_FILE_ASSET_URL_MAINNET=${{ secrets.FERAL_FILE_ASSET_URL_MAINNET }} >> .env
# echo EXTENSION_SUPPORT_MAINNET_URL=${{ secrets.EXTENSION_SUPPORT_MAINNET_URL }} >> .env
# echo EXTENSION_SUPPORT_TESTNET_URL=${{ secrets.EXTENSION_SUPPORT_TESTNET_URL }} >> .env
# echo CONNECT_WEBSOCKET_MAINNET_URL=${{ secrets.CONNECT_WEBSOCKET_MAINNET_URL }} >> .env
# echo CONNECT_WEBSOCKET_TESTNET_URL=${{ secrets.CONNECT_WEBSOCKET_TESTNET_URL }} >> .env
# ${{ github.event.inputs.testnet == 'true' }} && echo AUTONOMY_AUTH_URL=${{ secrets.AUTONOMY_AUTH_DEV_URL }} >> .env || echo AUTONOMY_AUTH_URL=${{ secrets.AUTONOMY_AUTH_STAGING_URL }} >> .env
# ${{ github.event.inputs.testnet == 'true' }} && echo CUSTOMER_SUPPORT_URL=${{ secrets.CUSTOMER_SUPPORT_DEV_URL }} >> .env || echo CUSTOMER_SUPPORT_URL=${{ secrets.CUSTOMER_SUPPORT_STAGING_URL }} >> .env
# ${{ github.event.inputs.testnet == 'true' }} && echo RENDERING_REPORT_URL=${{ secrets.RENDERING_REPORT_DEV_URL }} >> .env || echo RENDERING_REPORT_URL=${{ secrets.RENDERING_REPORT_STAGING_URL }} >> .env
# ${{ github.event.inputs.testnet == 'true' }} && echo FEED_URL=${{ secrets.FEED_DEV_URL }} >> .env || echo FEED_URL=${{ secrets.FEED_STAGING_URL }} >> .env
# echo CURRENCY_EXCHANGE_URL=${{ secrets.CURRENCY_EXCHANGE_URL }} >> .env
# echo AUTONOMY_PUBDOC_URL=${{ secrets.AUTONOMY_PUBDOC_URL }} >> .env
# echo AUTONOMY_IPFS_PREFIX=${{ secrets.AUTONOMY_IPFS_PREFIX_DEV }} >> .env
# echo FERAL_FILE_AUTHORIZATION_PREFIX=${{ secrets.FERAL_FILE_AUTHORIZATION_PREFIX }} >> .env
# echo SENTRY_DSN=${{ secrets.SENTRY_DSN }} >> .env
# echo ONESIGNAL_APP_ID=${{ secrets.ONESIGNAL_DEV_APP_ID }} >> .env
# echo AWS_IDENTITY_POOL_ID=${{ secrets.AWS_IDENTITY_POOL_ID }} >> .env
# echo AUTONOMY_SHARD_SERVICE=${{ secrets.AUTONOMY_SHARD_SERVICE }} >> .env
# echo METRIC_ENDPOINT=${{ secrets.METRIC_ENDPOINT }} >> .env
# echo METRIC_SECRET_KEY=${{ secrets.METRIC_SECRET_KEY }} >> .env
# echo BRANCH_KEY=${{ secrets.BRANCH_KEY }} >> .env
# echo MIXPANEL_KEY=${{ secrets.MIXPANEL_KEY }} >> .env
# echo CLOUD_FLARE_IMAGE_URL_PREFIX=${{ secrets.CLOUD_FLARE_IMAGE_URL_PREFIX }} >> .env
# echo APP_TESTNET_CONFIG=${{ github.event.inputs.testnet }} >> .env
# echo TEZOS_FAUCET_URL=${{ secrets.TEZOS_FAUCET_URL }} >> .env
# echo TEZOS_FAUCET_AUTH_TOKEN=${{ secrets.TEZOS_FAUCET_AUTH_TOKEN }} >> .env
# echo SEED_TO_PURCHASE_ARTWORK=${{ secrets.SEED_TO_PURCHASE_ARTWORK }} >> .env
# echo SEED_TO_RESTORE_ACCOUNT=${{ secrets.SEED_TO_RESTORE_ACCOUNT }} >> .env
# echo SEED_TO_RESTORE_ANOTHER_ACCOUNT=${{ secrets.SEED_TO_RESTORE_ANOTHER_ACCOUNT }} >> .env
# echo SEEDS_TO_RESTORE_FULLACCOUNT=${{ secrets.SEEDS_TO_RESTORE_FULLACCOUNT }} >> .env
# echo SEED_TO_RESTORE_KUKAI=${{ secrets.SEED_TO_RESTORE_KUKAI }} >> .env
# echo SEED_TO_RESTORE_TEMPLE=${{ secrets.SEED_TO_RESTORE_TEMPLE }} >> .env
# echo SEED_TO_RESTORE_ACCOUNT_BUY_NFT=${{ secrets.SEED_TO_RESTORE_ACCOUNT_BUY_NFT }} >> .env
# echo SEED_TO_SEND_ETH=${{ secrets.SEED_TO_SEND_ETH }} >> .env
# echo SEED_TO_RECEIVE_ETH=${{ secrets.SEED_TO_RECEIVE_ETH }} >> .env
# echo AUTO_TEST_PLATFORM=android >> .env
# echo AUTO_TEST_PROFILE=GalaxyA52s5G >> .env
echo AUTOTEST_ENV= "${{ secrets.AUTOTEST_ENV }}" | sed 's/\\n/\n/g' >> .env
cat .env
- name: Submoudles update
run: git submodule update --init --recursive
- run: flutter pub cache repair
- run: flutter pub get
# Build app
- name: Build to flutter apk inhouse app
run: flutter build apk --flavor inhouse
# CD to auto-test folder and install node_module
- name: CD to auto-test folder
run: |
cd auto-test
npm install
# Run testing in Cucumber
- name: Run auto tests for Suite "Import accounts from seeds"
if: success() || failure()
run: |
cd auto-test
npx cucumber-js ./src/features/ImportSeeds.feature --format ./reporter.js
# - name: Run auto tests for Suite "Connect wallet to NFT exchanges"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/connectWalletToExchanges_test.dart
# - name: Run auto tests for Suite "Link Ethereum Wallet"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkEthereumAccountWallet_test.dart
# - name: Run Flutter Driver tests for Suite "Link Ethereum Wallet" without finishing Onboarding
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkEthereumAccountWalletOnboarding_test.dart
# - name: Run auto tests for Suite "Purchase Feral File Ethereum NFT"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/purchaseFeralFileEthereumToken_test.dart
# - name: Run auto tests for Suite "Purchase Tez NFT in outside exchanges"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/purchase_tez_nft_test.dart
# - name: Run auto tests for Suite "Purchase Feral File Tez NFT"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/purchaseFeralfileTezosToken_test.dart
# - name: Run auto tests for Suite "Send/transfer artworks"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/send_artwork_test.dart
# - name: Run auto tests for Suite "Check static pages, build"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/setting_footer_test.dart
# - name: Run auto tests for Suite "Check artwork preview"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/check_artwork_detail_test.dart
# - name: Run auto tests for Suite "Create new account"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/create_new_account_test.dart
# - name: Run auto tests for Suite "Customer support"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/customer_support_test.dart
# - name: Run auto tests for Suite "Check artwork metadata compare with indexer. Other cases check with blockchain we need implement in Unit test"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/check_artwork_info_test.dart
# - name: Run auto tests for Suite "Check deposit testcases"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/send_xtz_test.dart
# - name: Run auto tests for Suite "Check deposit ETH testcases"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/tests/send_eth_test.dart
# - name: Run auto tests for Suite "Link Autonomy Connect from FeralFile to Autonomy Wallet"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkAutonomyConnect2FeralFileWith1Eth1Tez_test.dart
# - name: Run auto tests for Suite "Link Autonomy Connect from FeralFile to Autonomy Wallet"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkAutonomyConnect2FeralFileWith1Eth0Tez_test.dart
# - name: Run auto tests for Suite "Link Autonomy Connect from FeralFile to Autonomy Wallet"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkAutonomyConnect2FeralFileWith0Eth1Tez_test.dart
# - name: Run auto tests for Suite "Link Autonomy Connect from FeralFile to Autonomy Wallet"
# if: success() || failure()
# run: |
# cd $GITHUB_WORKSPACE
# flutter test auto-test/mobile_external_webs/linkAutonomyConnect2FeralFileWith0Eth0Tez_test.dart
# Generate report
- name: Generate report
run: |
allure generate allure-results --clean -o allure-report
- name: Show report
if: always()
uses: actions/upload-artifact@v3
with:
name: Test result
path: ${{ github.workspace }}/auto-test/allure-report/index.html
- name: Report Status
if: always()
uses: ravsamhq/notify-slack-action@v2
with:
status: ${{ job.status }}
notify_when: "failure,success,warnings"
notification_title: Auto test FF app execution-"{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}@{branch}> on commit <{commit_url}|{commit_sha}>"
message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}@{branch}> on commit <{commit_url}|{commit_sha}>"
footer: "<{run_url}|View Run>"
mention_users: "U03NZ7JU8KC"
mention_users_when: "failure,warnings"
env:
SLACK_WEBHOOK_URL: ${{ secrets.WEBHOOK_LOCAL_BITMARKVN_CI_SLACK }}