-
Notifications
You must be signed in to change notification settings - Fork 1
78 lines (67 loc) · 2.87 KB
/
run.yml
File metadata and controls
78 lines (67 loc) · 2.87 KB
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
name: Run
on:
push:
branches: [main]
paths-ignore:
- '**.md'
pull_request:
branches: [main]
paths-ignore:
- '**.md'
jobs:
run:
runs-on: ubuntu-22.04
permissions:
id-token: write
contents: read
steps:
# https://github.com/actions/checkout/releases/tag/v4.2.2
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# https://github.com/launchdarkly/gh-actions/releases/tag/release-secrets-v1.2.0
- uses: launchdarkly/gh-actions/actions/release-secrets@bbbbbda684f500766264e7fe327668094ba83d1c # release-secrets-v1.2.0
name: 'Get mobile key and flag key'
with:
aws_assume_role: ${{ vars.AWS_ROLE_ARN }}
ssm_parameter_pairs: '/sdk/common/hello-apps/mobile-key = LAUNCHDARKLY_MOBILE_KEY,
/sdk/common/hello-apps/boolean-flag-key = LAUNCHDARKLY_FLAG_KEY'
- name: Configure SDK mobile key
run: |
sed -i "s/mobile-key-from-launch-darkly-website/$LAUNCHDARKLY_MOBILE_KEY/" app/src/main/java/com/launchdarkly/hello_android/MainApplication.java
- name: Configure feature flag key
run: |
sed -i '0,/my-boolean-flag/{s/my-boolean-flag/'"$LAUNCHDARKLY_FLAG_KEY"'/}' app/src/main/java/com/launchdarkly/hello_android/MainActivity.java
# https://github.com/actions/setup-java/releases/tag/v4.7.1
- name: Setup Java
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build debug APK
run: ./gradlew assembleDebug
- name: Enable KVM group perms (for performance)
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
# https://github.com/jlumbroso/free-disk-space/releases/tag/v1.3.1
- name: Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
android: false
large-packages: false
# https://github.com/reactivecircus/android-emulator-runner/releases/tag/v2.34.0
- name: Run on emulator
uses: reactivecircus/android-emulator-runner@324029e2f414c084d8b15ba075288885e74aef9c # v2.34.0
with:
api-level: 29
arch: x86_64
script: |
adb install app/build/outputs/apk/debug/app-debug.apk
adb shell am start -n com.launchdarkly.hello_android/.MainActivity
sleep 30
adb exec-out uiautomator dump /dev/tty > /tmp/uidump.xml
cat /tmp/uidump.xml
grep -oi 'Feature flag.*is true' /tmp/uidump.xml