Skip to content

Commit c163198

Browse files
committed
Merge branch 'craig/automate_apk_upload_to_play_store_safe' into develop
2 parents 7aedfae + 924bce3 commit c163198

File tree

126 files changed

+730
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+730
-60
lines changed

Gemfile.lock

Lines changed: 105 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,83 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
CFPropertyList (3.0.2)
4+
CFPropertyList (3.0.3)
55
addressable (2.7.0)
66
public_suffix (>= 2.0.2, < 5.0)
7+
artifactory (3.0.15)
78
atomos (0.1.3)
8-
babosa (1.0.3)
9+
aws-eventstream (1.1.1)
10+
aws-partitions (1.448.0)
11+
aws-sdk-core (3.114.0)
12+
aws-eventstream (~> 1, >= 1.0.2)
13+
aws-partitions (~> 1, >= 1.239.0)
14+
aws-sigv4 (~> 1.1)
15+
jmespath (~> 1.0)
16+
aws-sdk-kms (1.43.0)
17+
aws-sdk-core (~> 3, >= 3.112.0)
18+
aws-sigv4 (~> 1.1)
19+
aws-sdk-s3 (1.94.0)
20+
aws-sdk-core (~> 3, >= 3.112.0)
21+
aws-sdk-kms (~> 1)
22+
aws-sigv4 (~> 1.1)
23+
aws-sigv4 (1.2.3)
24+
aws-eventstream (~> 1, >= 1.0.2)
25+
babosa (1.0.4)
926
claide (1.0.3)
1027
colored (1.2)
1128
colored2 (3.1.2)
1229
commander-fastlane (4.4.6)
1330
highline (~> 1.7.2)
14-
declarative (0.0.10)
15-
declarative-option (0.1.0)
16-
digest-crc (0.4.1)
31+
declarative (0.0.20)
32+
digest-crc (0.6.3)
33+
rake (>= 12.0.0, < 14.0.0)
1734
domain_name (0.5.20190701)
1835
unf (>= 0.0.5, < 1.0.0)
19-
dotenv (2.7.5)
20-
emoji_regex (1.0.1)
21-
excon (0.71.1)
22-
faraday (0.17.3)
36+
dotenv (2.7.6)
37+
emoji_regex (3.2.2)
38+
excon (0.80.1)
39+
faraday (1.4.1)
40+
faraday-excon (~> 1.1)
41+
faraday-net_http (~> 1.0)
42+
faraday-net_http_persistent (~> 1.1)
2343
multipart-post (>= 1.2, < 3)
24-
faraday-cookie_jar (0.0.6)
25-
faraday (>= 0.7.4)
44+
ruby2_keywords (>= 0.0.4)
45+
faraday-cookie_jar (0.0.7)
46+
faraday (>= 0.8.0)
2647
http-cookie (~> 1.0.0)
27-
faraday_middleware (0.13.1)
28-
faraday (>= 0.7.4, < 1.0)
29-
fastimage (2.1.7)
30-
fastlane (2.139.0)
48+
faraday-excon (1.1.0)
49+
faraday-net_http (1.0.1)
50+
faraday-net_http_persistent (1.1.0)
51+
faraday_middleware (1.0.0)
52+
faraday (~> 1.0)
53+
fastimage (2.2.3)
54+
fastlane (2.181.0)
3155
CFPropertyList (>= 2.3, < 4.0.0)
3256
addressable (>= 2.3, < 3.0.0)
33-
babosa (>= 1.0.2, < 2.0.0)
57+
artifactory (~> 3.0)
58+
aws-sdk-s3 (~> 1.0)
59+
babosa (>= 1.0.3, < 2.0.0)
3460
bundler (>= 1.12.0, < 3.0.0)
3561
colored
3662
commander-fastlane (>= 4.4.6, < 5.0.0)
3763
dotenv (>= 2.1.1, < 3.0.0)
38-
emoji_regex (>= 0.1, < 2.0)
64+
emoji_regex (>= 0.1, < 4.0)
3965
excon (>= 0.71.0, < 1.0.0)
40-
faraday (~> 0.17)
66+
faraday (~> 1.0)
4167
faraday-cookie_jar (~> 0.0.6)
42-
faraday_middleware (~> 0.13.1)
68+
faraday_middleware (~> 1.0)
4369
fastimage (>= 2.1.0, < 3.0.0)
4470
gh_inspector (>= 1.1.2, < 2.0.0)
45-
google-api-client (>= 0.29.2, < 0.37.0)
71+
google-api-client (>= 0.37.0, < 0.39.0)
4672
google-cloud-storage (>= 1.15.0, < 2.0.0)
4773
highline (>= 1.7.2, < 2.0.0)
4874
json (< 3.0.0)
49-
jwt (~> 2.1.0)
75+
jwt (>= 2.1.0, < 3)
5076
mini_magick (>= 4.9.4, < 5.0.0)
51-
multi_xml (~> 0.5)
5277
multipart-post (~> 2.0.0)
78+
naturally (~> 2.2)
5379
plist (>= 3.1.0, < 4.0.0)
54-
public_suffix (~> 2.0.0)
55-
rubyzip (>= 1.3.0, < 2.0.0)
80+
rubyzip (>= 2.0.0, < 3.0.0)
5681
security (= 0.1.3)
5782
simctl (~> 1.6.3)
5883
slack-notifier (>= 2.0.0, < 3.0.0)
@@ -66,88 +91,110 @@ GEM
6691
xcpretty-travis-formatter (>= 0.0.3)
6792
fastlane-plugin-property_file_read (1.0.1)
6893
gh_inspector (1.1.3)
69-
google-api-client (0.36.4)
94+
google-api-client (0.38.0)
7095
addressable (~> 2.5, >= 2.5.1)
7196
googleauth (~> 0.9)
7297
httpclient (>= 2.8.1, < 3.0)
7398
mini_mime (~> 1.0)
7499
representable (~> 3.0)
75100
retriable (>= 2.0, < 4.0)
76101
signet (~> 0.12)
77-
google-cloud-core (1.4.1)
102+
google-apis-core (0.3.0)
103+
addressable (~> 2.5, >= 2.5.1)
104+
googleauth (~> 0.14)
105+
httpclient (>= 2.8.1, < 3.0)
106+
mini_mime (~> 1.0)
107+
representable (~> 3.0)
108+
retriable (>= 2.0, < 4.0)
109+
rexml
110+
signet (~> 0.14)
111+
webrick
112+
google-apis-iamcredentials_v1 (0.3.0)
113+
google-apis-core (~> 0.1)
114+
google-apis-storage_v1 (0.3.0)
115+
google-apis-core (~> 0.1)
116+
google-cloud-core (1.6.0)
78117
google-cloud-env (~> 1.0)
79-
google-cloud-env (1.3.0)
80-
faraday (~> 0.11)
81-
google-cloud-storage (1.25.0)
118+
google-cloud-errors (~> 1.0)
119+
google-cloud-env (1.5.0)
120+
faraday (>= 0.17.3, < 2.0)
121+
google-cloud-errors (1.1.0)
122+
google-cloud-storage (1.31.0)
82123
addressable (~> 2.5)
83124
digest-crc (~> 0.4)
84-
google-api-client (~> 0.33)
125+
google-apis-iamcredentials_v1 (~> 0.1)
126+
google-apis-storage_v1 (~> 0.1)
85127
google-cloud-core (~> 1.2)
86128
googleauth (~> 0.9)
87129
mini_mime (~> 1.0)
88-
googleauth (0.10.0)
89-
faraday (~> 0.12)
130+
googleauth (0.16.1)
131+
faraday (>= 0.17.3, < 2.0)
90132
jwt (>= 1.4, < 3.0)
91133
memoist (~> 0.16)
92134
multi_json (~> 1.11)
93135
os (>= 0.9, < 2.0)
94-
signet (~> 0.12)
136+
signet (~> 0.14)
95137
highline (1.7.10)
96138
http-cookie (1.0.3)
97139
domain_name (~> 0.5)
98140
httpclient (2.8.3)
99-
json (2.3.0)
100-
jwt (2.1.0)
141+
jmespath (1.4.0)
142+
json (2.5.1)
143+
jwt (2.2.3)
101144
memoist (0.16.2)
102-
mini_magick (4.10.1)
103-
mini_mime (1.0.2)
104-
multi_json (1.14.1)
105-
multi_xml (0.6.0)
145+
mini_magick (4.11.0)
146+
mini_mime (1.1.0)
147+
multi_json (1.15.0)
106148
multipart-post (2.0.0)
107-
nanaimo (0.2.6)
108-
naturally (2.2.0)
109-
os (1.0.1)
110-
plist (3.5.0)
111-
public_suffix (2.0.5)
112-
representable (3.0.4)
149+
nanaimo (0.3.0)
150+
naturally (2.2.1)
151+
os (1.1.1)
152+
plist (3.6.0)
153+
public_suffix (4.0.6)
154+
rake (13.0.3)
155+
representable (3.1.1)
113156
declarative (< 0.1.0)
114-
declarative-option (< 0.2.0)
157+
trailblazer-option (>= 0.1.1, < 0.2.0)
115158
uber (< 0.2.0)
116159
retriable (3.1.2)
160+
rexml (3.2.5)
117161
rouge (2.0.7)
118-
rubyzip (1.3.0)
162+
ruby2_keywords (0.0.4)
163+
rubyzip (2.3.0)
119164
security (0.1.3)
120-
signet (0.12.0)
165+
signet (0.15.0)
121166
addressable (~> 2.3)
122-
faraday (~> 0.9)
167+
faraday (>= 0.17.3, < 2.0)
123168
jwt (>= 1.5, < 3.0)
124169
multi_json (~> 1.10)
125-
simctl (1.6.7)
170+
simctl (1.6.8)
126171
CFPropertyList
127172
naturally
128173
slack-notifier (2.3.2)
129174
terminal-notifier (2.0.0)
130175
terminal-table (1.8.0)
131176
unicode-display_width (~> 1.1, >= 1.1.1)
132-
tty-cursor (0.7.0)
133-
tty-screen (0.7.0)
134-
tty-spinner (0.9.2)
177+
trailblazer-option (0.1.1)
178+
tty-cursor (0.7.1)
179+
tty-screen (0.8.1)
180+
tty-spinner (0.9.3)
135181
tty-cursor (~> 0.7)
136182
uber (0.1.0)
137183
unf (0.1.4)
138184
unf_ext
139-
unf_ext (0.0.7.6)
140-
unicode-display_width (1.6.0)
185+
unf_ext (0.0.7.7)
186+
unicode-display_width (1.7.0)
187+
webrick (1.7.0)
141188
word_wrap (1.0.0)
142-
xcodeproj (1.14.0)
189+
xcodeproj (1.19.0)
143190
CFPropertyList (>= 2.3.3, < 4.0)
144191
atomos (~> 0.1.3)
145192
claide (>= 1.0.2, < 2.0)
146193
colored2 (~> 3.1)
147-
nanaimo (~> 0.2.6)
194+
nanaimo (~> 0.3.0)
148195
xcpretty (0.3.0)
149196
rouge (~> 2.0.7)
150-
xcpretty-travis-formatter (1.0.0)
197+
xcpretty-travis-formatter (1.0.1)
151198
xcpretty (~> 0.2, >= 0.0.7)
152199

153200
PLATFORMS

app/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,9 @@ dependencies {
207207
androidTestImplementation Square.okHttp3.mockWebServer
208208
androidTestImplementation "org.jetbrains.kotlin:kotlin-reflect:_"
209209
}
210+
211+
tasks.register('fastlaneVersionCode') {
212+
doLast {
213+
print buildVersionCode()
214+
}
215+
}

fastlane/Appfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
json_key_file("~/jenkins_static/com.duckduckgo.mobile.android/api.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
2-
package_name("com.duckduckgo.mobile.android") # e.g. com.krausefx.app
2+
package_name("com.duckduckgo.mobile.android") # e.g. com.krausefx.app

fastlane/Fastfile

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,26 @@ platform :android do
2626

2727
upload_to_play_store(
2828
apk: apkPath,
29-
track: 'internal'
29+
track: 'internal',
30+
skip_upload_screenshots: true,
31+
skip_upload_images: true,
32+
validate_only: true
3033
)
3134
end
3235

36+
desc "Upload APK to ad-hoc internal app sharing"
37+
lane :deploy_adhoc do
38+
39+
props = property_file_read(file: "app/version/version.properties")
40+
version = props["VERSION"]
41+
apkPath = "app/build/outputs/apk/play/release/duckduckgo-#{version}-play-release.apk"
42+
43+
upload_to_play_store_internal_app_sharing(
44+
apk: apkPath
45+
)
46+
47+
end
48+
3349
desc "Deploy APK to GitHub"
3450
lane :deploy_github do
3551

@@ -53,6 +69,17 @@ platform :android do
5369

5470
end
5571

72+
desc "Update local changelist metadata"
73+
lane :update_fastlane_release_notes do
74+
75+
flversion=gradle(task: '-q fastlaneVersionCode')
76+
UI.message("Fastlane version is #{flversion}.")
77+
78+
sh("cp '../app/version/release-notes' '../fastlane/metadata/android/en-US/changelogs/#{flversion}.txt'")
79+
sh("cp '../app/version/release-notes' '../fastlane/metadata/android/en-GB/changelogs/#{flversion}.txt'")
80+
81+
end
82+
5683
# Note, this currently relies on having `git flow` tools installed.
5784
# This dependency could be removed with a little more time to tidy up this script to do the branching/merging manually.
5885

fastlane/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,26 @@ or alternatively using `brew install fastlane`
1616

1717
# Available Actions
1818
## Android
19+
### android deploy_playstore
20+
```
21+
fastlane android deploy_playstore
22+
```
23+
Upload APK to Play Store
24+
### android deploy_adhoc
25+
```
26+
fastlane android deploy_adhoc
27+
```
28+
Upload APK to ad-hoc internal app sharing
1929
### android deploy_github
2030
```
2131
fastlane android deploy_github
2232
```
2333
Deploy APK to GitHub
34+
### android update_fastlane_release_notes
35+
```
36+
fastlane android update_fastlane_release_notes
37+
```
38+
Update local changelist metadata
2439
### android release
2540
```
2641
fastlane android release
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Privacitat sense complicacions. Protegiu les vostres dades quan cerqueu i navegueu: bloqueig de rastreig, encriptació més intel•ligent, cerca privada i més.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Privacitat sense complicacions.
2+
3+
A DuckDuckGo creiem que internet no hauria de fer por i que garantir la privacitat que toca quan hom és en línia hauria de ser tan senzill com abaixar la persiana.
4+
5+
Proporcionem les eines essencials de privacitat necessàries per poder donar-vos el control de la vostra informació personal de manera eficaç quan cerqueu i navegueu pel web, independentment d’on aneu a parar a internet:
6+
• Escapeu de les xarxes de seguiment publicitari: la nostra protecció de la privacitat bloqueja totes les eines de seguiment que trobem. Desemmascaren les principals xarxes publicitàries que us rastregen, així que podreu rastrejar els que proven de rastrejar-vos.
7+
• Protecció encriptada reforçada: forcem als web que facin servir una connexió encriptada sempre que sigui possible. Les vostres dades estaran protegides de les mirades indiscretes, com ara les dels proveïdors de serveis d’internet.
8+
• Cerques privades: quan feu servir el motor de cerca, esteu compartint la vostra informació més personal, incloses dades financeres, mèdiques o polítiques. El que cerqueu és cosa vostra. Per aquest motiu, la cerca de DuckDuckGo no us rastreja. Mai de la vida.
9+
• Identificació de les condicions de privacitat: col•laborem amb Terms of Service; Didn’t Read per incloure les seves puntuacions i etiquetes de les condicions del servei i de privacitat dels webs, sempre que sigui possible.
10+
11+
A mesura que cerqueu i navegueu, DuckDuckGo us mostrarà una nota (d’A a F) de privacitat quan visiteu un web. Aquesta puntuació permet saber en un vist i no vist quin grau de protecció teniu, conèixer en profunditat a qui hem enxampat provant de rastrejar-vos i saber com reforcem les mesures de privacitat subjacents del web. La nota de privacitat s’obté automàticament en funció del predomini de xarxes de rastreig amagades, de la disponibilitat d’encriptació i de les pràctiques de privacitat del web.
12+
13+
La nostra aplicació proporciona una funcionalitat de navegació estàndard, amb pestanyes, marcadors i emplenament automàtic. A més de la protecció de la privacitat potent descrita, hem afegit algunes funcionalitats addicionals de privacitat en el propi navegador:
14+
• Botó disparador: totes les pestanyes i les dades es volatilitzen amb un toc.
15+
16+
Massa gent dona per fet que la privacitat a internet no és possible. Ens revoltem contra aquesta concepció fins al punt que hem adoptat com a missió establir un nou estàndard de confiança en línia. Instal•leu DuckDuckGo i recupereu la vostra privacitat!
17+
18+
Qui som: https://duckduckgo.com/about/
19+
Consells de privacitat per a dispositius: https://spreadprivacy.com/tag/device-privacy-tips/
20+
Més informació sobre privacitat: https://spreadprivacy.com/tag/privacy-newsletter/
21+
Les nostres condicions de privacitat: https://duckduckgo.com/privacy/
22+
23+
Codi obert disponible a https://github.com/duckduckgo/android
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Privacitat sense complicacions.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DuckDuckGo Privacy Browser

fastlane/metadata/android/ca/video.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)