@@ -19,92 +19,102 @@ jobs:
1919 runs-on : ubuntu-latest
2020
2121 steps :
22- - name : Checkout code
23- uses : actions/checkout@v4
24- with :
25- ref : ${{ github.event.inputs.branch }}
26-
27- - name : Set up JDK 17
28- uses : actions/setup-java@v4
29- with :
30- distribution : ' zulu'
31- java-version : ' 17'
32-
33- - name : Update signingConfigs in build.gradle.kts
34- run : |
35- sed -i '/signingConfigs {/,/}/c\signingConfigs {\n\n getByName("debug") {\n keyAlias = "${{ secrets.BITS_N_BYTES_DEBUG_KEY_ALIAS }}"\n keyPassword = "${{ secrets.BITS_N_BYTES_DEBUG_KEY_PASSWORD }}"\n storeFile = file("keystore/debug")\n storePassword = "${{ secrets.BITS_N_BYTES_DEBUG_STORE_PASSWORD }}"\n }\n' app/build.gradle.kts
36-
37- - name : Configure string resources using helper
38- shell : bash
39- run : |
40- upsert_string () {
41- local file="$1" name="$2" value="$3"
42- # one-line sanitize
43- value=$(printf '%s' "$value" | tr -d '\n\r')
44- sed -i "/<string[[:space:]][^>]*name=\"$name\"[^>]*>/d" "$file"
45- awk -v n="$name" -v v="$value" '
46- /<\/resources>/ {
47- print " <string name=\"" n "\">" v "</string>"
48- }
49- { print }
50- ' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
51- }
52-
53- # API keys/domains for demo.variant
54- upsert_string app/src/main/res/values/strings.xml "com.sap.cxcdc.apikey" '${{ secrets.BITS_N_BYTES_DEMO_API_KEY }}'
55- upsert_string app/src/main/res/values/strings.xml "com.sap.cxcdc.domain" 'us1.gigya.com'
56- upsert_string app/src/variant/res/values/strings.xml "com.sap.cxcdc.apikey" '${{ secrets.BITS_N_BYTES_VARIANT_API_KEY }}'
57- upsert_string app/src/variant/res/values/strings.xml "com.sap.cxcdc.domain" 'us1.gigya.com'
58-
59- # Asset statements
60- upsert_string app/src/main/res/values/strings.xml "asset_statements" '${{ secrets.BITS_N_BYTES_ASSET_STATEMENTS }}'
61- upsert_string app/src/variant/res/values/strings.xml "asset_statements" '${{ secrets.BITS_N_BYTES_ASSET_STATEMENTS }}'
62-
63- # Google resources
64- upsert_string app/src/main/res/values/strings.xml "google_server_client_id" '${{ secrets.GOOGLE_WEB_SERVER_CLIENT_ID }}'
65- upsert_string app/src/variant/res/values/strings.xml "google_server_client_id" 'GOOGLE_WEB_CLIENT_ID_HERE'
66-
67- # Facebook resources
68- upsert_string app/src/main/res/values/strings.xml "facebook_app_id" 'FB_APP_ID_HERE'
69- upsert_string app/src/main/res/values/strings.xml "fb_login_protocol_scheme" 'FB_LOGIN_PROTOCOL_SCHEME_HERE'
70- upsert_string app/src/main/res/values/strings.xml "facebook_client_token" 'FB_CLIENT_TOKEN_HERE'
71- upsert_string app/src/variant/res/values/strings.xml "facebook_app_id" 'FB_APP_ID_HERE'
72- upsert_string app/src/variant/res/values/strings.xml "fb_login_protocol_scheme" 'FB_LOGIN_PROTOCOL_SCHEME_HERE'
73- upsert_string app/src/variant/res/values/strings.xml "facebook_client_token" 'FB_CLIENT_TOKEN_HERE'
74-
75- # Line resources
76- upsert_string app/src/main/res/values/strings.xml "line_channel_id" 'LINE_CHANNEL_ID_HERE'
77- upsert_string app/src/variant/res/values/strings.xml "line_channel_id" 'LINE_CHANNEL_ID_HERE'
78-
79- # WeChat resources
80- upsert_string app/src/main/res/values/strings.xml "wechat_app_id" 'WECHAT_APP_ID_HERE'
81- upsert_string app/src/variant/res/values/strings.xml "wechat_app_id" 'WECHAT_APP_ID_HERE'
82-
83- - name : Create file for google-services.json (Demo)
84- run : echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > app/google-services.json
85-
86- - name : Build Debug APK
87- run : ./gradlew assembleDebug
88-
89- - name : Rename Demo APK file
90- run : mv app/build/outputs/apk/demo/debug/app-demo-debug.apk app/build/outputs/apk/demo/debug/bits-n-bytes-app-demo-debug.apk
91-
92- - name : Rename Variant APK file
93- run : mv app/build/outputs/apk/variant/debug/app-variant-debug.apk app/build/outputs/apk/variant/debug/bits-n-bytes-app-variant-debug.apk
94-
95- - name : Upload APK
96- uses : actions/upload-artifact@v4
97- with :
98- name : demo-debug-apk
99- path : app/build/outputs/apk/demo/debug/bits-n-bytes-app-demo-debug.apk
100-
101- - name : Upload Variant APK
102- uses : actions/upload-artifact@v4
103- with :
104- name : variant-debug-apk
105- path : app/build/outputs/apk/variant/debug/bits-n-bytes-app-variant-debug.apk
106-
107- - name : Upload to Soucelabs
108- working-directory : app/build/outputs/apk/demo/debug/
109- run : |
110- curl -u '${{ secrets.SAUCE_USERNAME }}:${{ secrets.SAUCE_ACCESS_KEY }}' --location --request POST 'https://api.eu-central-1.saucelabs.com/v1/storage/upload' --form payload=@'bits-n-bytes-app-demo-debug.apk' --form name='bits-n-bytes-app-demo-debug.apk' --form description='e2e Android test app' --silent --show-error
22+ - name : Checkout code
23+ uses : actions/checkout@v4
24+ with :
25+ ref : ${{ github.event.inputs.branch }}
26+
27+ - name : Set up JDK 17
28+ uses : actions/setup-java@v4
29+ with :
30+ distribution : ' zulu'
31+ java-version : ' 17'
32+
33+ - name : Update signingConfigs in build.gradle.kts
34+ run : |
35+ sed -i '/signingConfigs {/,/}/c\signingConfigs {\n\n getByName("debug") {\n keyAlias = "${{ secrets.BITS_N_BYTES_DEBUG_KEY_ALIAS }}"\n keyPassword = "${{ secrets.BITS_N_BYTES_DEBUG_KEY_PASSWORD }}"\n storeFile = file("keystore/debug")\n storePassword = "${{ secrets.BITS_N_BYTES_DEBUG_STORE_PASSWORD }}"\n }\n' app/build.gradle.kts
36+
37+ - name : Configure string resources using helper
38+ shell : bash
39+ run : |
40+ upsert_string () {
41+ local file="$1" name="$2" value="$3"
42+ # one-line sanitize
43+ value=$(printf '%s' "$value" | tr -d '\n\r')
44+ sed -i "/<string[[:space:]][^>]*name=\"$name\"[^>]*>/d" "$file"
45+ awk -v n="$name" -v v="$value" '
46+ /<\/resources>/ {
47+ print " <string name=\"" n "\">" v "</string>"
48+ }
49+ { print }
50+ ' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
51+ }
52+
53+ # API keys/domains for demo.variant
54+ upsert_string app/src/main/res/values/strings.xml "com.sap.cxcdc.apikey" '${{ secrets.BITS_N_BYTES_DEMO_API_KEY }}'
55+ upsert_string app/src/main/res/values/strings.xml "com.sap.cxcdc.domain" 'us1.gigya.com'
56+ upsert_string app/src/variant/res/values/strings.xml "com.sap.cxcdc.apikey" '${{ secrets.BITS_N_BYTES_VARIANT_API_KEY }}'
57+ upsert_string app/src/variant/res/values/strings.xml "com.sap.cxcdc.domain" 'us1.gigya.com'
58+
59+ # Asset statements
60+ upsert_string app/src/main/res/values/strings.xml "asset_statements" '${{ secrets.BITS_N_BYTES_ASSET_STATEMENTS }}'
61+ upsert_string app/src/variant/res/values/strings.xml "asset_statements" '${{ secrets.BITS_N_BYTES_ASSET_STATEMENTS }}'
62+
63+ # Google resources
64+ upsert_string app/src/main/res/values/strings.xml "google_server_client_id" '${{ secrets.GOOGLE_WEB_SERVER_CLIENT_ID }}'
65+ upsert_string app/src/variant/res/values/strings.xml "google_server_client_id" 'GOOGLE_WEB_CLIENT_ID_HERE'
66+
67+ # Facebook resources
68+ upsert_string app/src/main/res/values/strings.xml "facebook_app_id" 'FB_APP_ID_HERE'
69+ upsert_string app/src/main/res/values/strings.xml "fb_login_protocol_scheme" 'FB_LOGIN_PROTOCOL_SCHEME_HERE'
70+ upsert_string app/src/main/res/values/strings.xml "facebook_client_token" 'FB_CLIENT_TOKEN_HERE'
71+ upsert_string app/src/variant/res/values/strings.xml "facebook_app_id" 'FB_APP_ID_HERE'
72+ upsert_string app/src/variant/res/values/strings.xml "fb_login_protocol_scheme" 'FB_LOGIN_PROTOCOL_SCHEME_HERE'
73+ upsert_string app/src/variant/res/values/strings.xml "facebook_client_token" 'FB_CLIENT_TOKEN_HERE'
74+
75+ # Line resources
76+ upsert_string app/src/main/res/values/strings.xml "line_channel_id" 'LINE_CHANNEL_ID_HERE'
77+ upsert_string app/src/variant/res/values/strings.xml "line_channel_id" 'LINE_CHANNEL_ID_HERE'
78+
79+ # WeChat resources
80+ upsert_string app/src/main/res/values/strings.xml "wechat_app_id" 'WECHAT_APP_ID_HERE'
81+ upsert_string app/src/variant/res/values/strings.xml "wechat_app_id" 'WECHAT_APP_ID_HERE'
82+
83+ - name : Create file for google-services.json (Demo)
84+ run : echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > app/google-services.json
85+
86+ - name : Build Debug APK
87+ run : ./gradlew assembleDebug
88+
89+ - name : Rename Demo APK file
90+ run : mv app/build/outputs/apk/demo/debug/app-demo-debug.apk app/build/outputs/apk/demo/debug/bits-n-bytes-app-demo-debug.apk
91+
92+ - name : Rename Variant APK file
93+ run : mv app/build/outputs/apk/variant/debug/app-variant-debug.apk app/build/outputs/apk/variant/debug/bits-n-bytes-app-variant-debug.apk
94+
95+ - name : Upload APK
96+ uses : actions/upload-artifact@v4
97+ with :
98+ name : demo-debug-apk
99+ path : app/build/outputs/apk/demo/debug/bits-n-bytes-app-demo-debug.apk
100+
101+ - name : Upload Variant APK
102+ uses : actions/upload-artifact@v4
103+ with :
104+ name : variant-debug-apk
105+ path : app/build/outputs/apk/variant/debug/bits-n-bytes-app-variant-debug.apk
106+
107+ - name : Upload to Soucelabs
108+ working-directory : app/build/outputs/apk/demo/debug/
109+ run : |
110+ curl -u '${{ secrets.SAUCE_USERNAME }}:${{ secrets.SAUCE_ACCESS_KEY }}' --location --request POST 'https://api.eu-central-1.saucelabs.com/v1/storage/upload' --form payload=@'bits-n-bytes-app-demo-debug.apk' --form name='bits-n-bytes-app-demo-debug.apk' --form description='e2e Android test app' --silent --show-error
111+
112+ - name : Trigger e2e test worker
113+ env :
114+ REPO_ACCESS_TOKEN : ${{ secrets.E2E_TOKEN }}
115+ run : |
116+ curl -X POST \
117+ -H "Accept: application/vnd.github.v3+json" \
118+ -H "Authorization: token REPO_ACCESS_TOKEN" \
119+ https://api.github.com/repos/SAP/gigya-mobile-sdk-tests/dispatches \
120+ -d '{"event_type":"trigger_event_from_android"}'
0 commit comments