-
Notifications
You must be signed in to change notification settings - Fork 62
164 lines (157 loc) · 5.9 KB
/
gradle.yml
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
name: Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
LT_USERNAME: ${{ secrets.LT_USERNAME }}
LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY }}
jobs:
Browserstack_web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Running End To End Web Test
run: ./gradlew task web
- name: Generate Report
if: always()
run: ./gradlew task allureReport
- uses: actions/upload-artifact@v4
with:
name: allure-report-web-browserstack
path: build/reports/allure-report
Lambda_web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Running End To End Web Test
run: ./gradlew task lambdaweb
- name: Generate Report
if: always()
run: ./gradlew task allureReport
- uses: actions/upload-artifact@v4
with:
name: allure-report-lambda-web
path: build/reports/allure-report
Browserstack_mobile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Upload app and set app location
id: app-upload
run: |
IPA_UPLOAD_RESPONSE=$(curl -u "$USERNAME:$ACCESS" -X POST https://api-cloud.browserstack.com/app-automate/upload -F "url=https://github.com/saucelabs/my-demo-app-ios/releases/download/2.1.1/SauceLabs-Demo-App.ipa")
APK_UPLOAD_RESPONSE=$(curl -u "$USERNAME:$ACCESS" -X POST https://api-cloud.browserstack.com/app-automate/upload -F "url=https://github.com/saucelabs/my-demo-app-android/releases/download/2.2.0/mda-2.2.0-25.apk")
echo "IPA_URL=$(echo $IPA_UPLOAD_RESPONSE | jq -r '.app_url')" >> $GITHUB_OUTPUT
echo "APK_URL=$(echo $APK_UPLOAD_RESPONSE | jq -r '.app_url')" >> $GITHUB_OUTPUT
curl -u "$USERNAME:$ACCESS" -X GET "https://api-cloud.browserstack.com/app-automate/recent_apps" | jq
env:
USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
ACCESS: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
- name: Running End To End Mobile Test
id: mobile-test
run: ./gradlew task mobile
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
IPA_URL: ${{steps.app-upload.outputs.IPA_URL}}
APK_URL: ${{steps.app-upload.outputs.APK_URL}}
- name: Generate Report
if: always()
run: ./gradlew task allureReport
- uses: actions/upload-artifact@v4
with:
name: allure-report-mobile-browserstack
path: build/reports/allure-report
Lambda_mobile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Get List of Devices
id: get-devices
run: |
curl -u "$USERNAME:$ACCESS" -X GET https://mobile-api.lambdatest.com/mobile-automation/api/v1/list?region=us | jq
env:
USERNAME: ${{ secrets.LT_USERNAME }}
ACCESS: ${{ secrets.LT_ACCESS_KEY }}
- name: Upload app and set app location
id: app-upload
run: |
APK_UPLOAD_RESPONSE=$(curl -u "$USERNAME:$ACCESS" --location --request POST 'https://manual-api.lambdatest.com/app/upload/virtualDevice' --form 'name="Android_App"' --form 'url="https://github.com/saucelabs/my-demo-app-android/releases/download/2.2.0/mda-2.2.0-25.apk"')
echo "APK_URL=$(echo $APK_UPLOAD_RESPONSE | jq -r '.app_url')" >> $GITHUB_OUTPUT
env:
USERNAME: ${{ secrets.LT_USERNAME }}
ACCESS: ${{ secrets.LT_ACCESS_KEY }}
- name: Running End To End Mobile Test
id: mobile-test
run: ./gradlew task lambdamobile
env:
LT_USERNAME: ${{ secrets.LT_USERNAME }}
LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY }}
IPA_URL: ${{steps.app-upload.outputs.IPA_URL}}
APK_URL: ${{steps.app-upload.outputs.APK_URL}}
- name: Generate Report
if: always()
run: ./gradlew task allureReport
- uses: actions/upload-artifact@v4
with:
name: allure-report-mobile-lambda
path: build/reports/allure-report
api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Starting test dependencies
run: docker compose up -d
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Running End To End Api Test
run: ./gradlew task api
env:
DEFAULT_REGION: ap-southeast-2
AWS_ACCOUNT_ID: "000000000000"
AWS_ACCESS_KEY_ID: dummy-access-key
AWS_SECRET_ACCESS_KEY: dummy-secret-key
- name: Generate Report
if: always()
run: ./gradlew task allureReport
- uses: actions/upload-artifact@v4
with:
name: allure-report-api
path: build/reports/allure-report