Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2451 commits
Select commit Hold shift + click to select a range
89233de
Merge pull request #3093 from AnySoftKeyboard/bot-pr/localization-update
menny Dec 17, 2021
5fc5e22
Initial commit
zeko9381 Dec 21, 2021
fff79db
Fixed mistake with overwriting the Croatian pack
zeko9381 Dec 21, 2021
fb03edc
Automated Gradle Update
anysoftkeyboard-bot Dec 23, 2021
aa7b31f
Merge pull request #3118 from AnySoftKeyboard/bot-pr/gradle-update
menny Dec 24, 2021
3667614
Simlification of the Setup Wizard
menny Nov 18, 2021
148615d
Migrate to Navigation Component
menny Dec 24, 2021
f25bc79
Bumping AGP a bit
menny Dec 24, 2021
ae1a2ba
Merge pull request #3083 from menny/navigation-component-in-wizard
menny Dec 24, 2021
5adca47
Make abbr be auto-picked if enabled
menny Dec 27, 2021
9530be0
Renamed everything from Slovenian to Slovene
zeko9381 Dec 27, 2021
974e3cf
Merge branch 'AnySoftKeyboard:master' into master
zeko9381 Dec 27, 2021
08f51f8
Refactor Suggest logic
menny Dec 29, 2021
cafc5e9
Removing min-length for suggestions
menny Dec 29, 2021
bfd4a15
Ensuring typed word is always returned
menny Dec 30, 2021
c01ea31
Merge pull request #3122 from menny/auto-pick-abbr
menny Dec 30, 2021
afea33b
Automated Localization Update from crowdin
anysoftkeyboard-bot Dec 30, 2021
d6a346f
Merge pull request #3126 from AnySoftKeyboard/bot-pr/localization-update
menny Dec 30, 2021
3166da3
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 1, 2022
2d020f0
Merge pull request #3127 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 3, 2022
c71ffe3
Merge pull request #3113 from zeko9381/master
menny Jan 3, 2022
353b338
Automated Packs List Update
anysoftkeyboard-bot Jan 3, 2022
4abc353
Merge pull request #3130 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 3, 2022
5058151
Refactor content-observer dictionary
menny Jan 3, 2022
5bc2d56
Using Copper RxContentProvider
menny Jan 4, 2022
0507015
Added Old North Arabian language pack
hsnamr Jan 4, 2022
8b62b32
Reacting to system-wide haptic control
menny Jan 5, 2022
8c6d0d4
Merge pull request #3131 from menny/haptic-fixes
menny Jan 5, 2022
95155b3
Fix for fdroid yaml format
menny Jan 5, 2022
c47f75f
Update language_pack_lib.gradle
hsnamr Jan 6, 2022
75c01cb
Update build.gradle
hsnamr Jan 6, 2022
664c2b3
Update build.gradle
hsnamr Jan 6, 2022
c0faa3b
Update build.gradle
hsnamr Jan 6, 2022
4762b97
Update Parser.java
hsnamr Jan 6, 2022
fccacbe
Merge pull request #3136 from menny/fdroid-output-fix
menny Jan 6, 2022
d130bda
Ensure words with commonality appear first in suggestions
menny Jan 6, 2022
979e7ee
Merge pull request #3137 from menny/fix-suggestion-order
menny Jan 6, 2022
5d49f98
Another fdroid yaml fix
menny Jan 6, 2022
01f2a9e
added namespace ask
christofjs Jan 6, 2022
6411dc5
Disabling dictionary for now
menny Jan 6, 2022
fc585ca
changelog update
menny Jan 6, 2022
8f417f7
unused autotext
menny Jan 6, 2022
07570d4
Merge pull request #3138 from menny/version-adjustments
menny Jan 6, 2022
e2d4196
Merge pull request #3134 from wahballat/oldnortharabian
menny Jan 6, 2022
cdeffbd
Automated Packs List Update
anysoftkeyboard-bot Jan 6, 2022
99be598
Merge pull request #3139 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 6, 2022
fdaf8aa
Enabling bundle publish to Play Store
menny Jan 7, 2022
c988bf9
Merge pull request #3141 from menny/enable-packs
menny Jan 8, 2022
849a2a8
Uploading AAB instead of APK
menny Jan 8, 2022
7215991
Collecting memory dump files
menny Jan 8, 2022
3086560
Merge pull request #3143 from menny/enable-packs
menny Jan 8, 2022
a5c1909
Fixing bundle collections
menny Jan 8, 2022
e974508
More details in lint issue diag
menny Jan 8, 2022
9bcb281
Merge pull request #3146 from menny/enable-packs
menny Jan 8, 2022
8759fab
Add bundle to release dry run check
menny Jan 8, 2022
cf9058f
Allowing reading of dmesg
menny Jan 8, 2022
4ef0804
Also copy bundles from publish
menny Jan 8, 2022
6336cd9
Merge pull request #3148 from menny/enable-packs
menny Jan 8, 2022
b901753
Trying a different way to read kernel log
menny Jan 8, 2022
9745265
upload bundules even if deploy fails
menny Jan 8, 2022
ab56cdf
Merge pull request #3149 from menny/enable-packs
menny Jan 8, 2022
1c631a5
Also upload APKs when publishing
menny Jan 8, 2022
bd74446
ls log folder
menny Jan 8, 2022
c70bb82
Merge pull request #3150 from menny/enable-packs
menny Jan 8, 2022
03791b4
bring back finalize by publish
menny Jan 8, 2022
4d799ee
Merge pull request #3151 from menny/enable-packs
menny Jan 8, 2022
d22327b
removing redundant bundle task call
menny Jan 8, 2022
03489ef
Merge pull request #3152 from menny/enable-packs
menny Jan 8, 2022
26bc920
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 9, 2022
5959f63
Revert removal of redundant bundle task
menny Jan 9, 2022
6dc8f5c
Merge pull request #3154 from menny/enable-packs
menny Jan 9, 2022
c1c68ac
Enable publish for Songhay language pack
menny Jan 9, 2022
56fa476
Merge pull request #3155 from menny/enable-packs
menny Jan 9, 2022
9e0b552
Automated Packs List Update
anysoftkeyboard-bot Jan 9, 2022
d4e3c9f
Merge pull request #3156 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 9, 2022
46ada52
trying to also keep Gradle in cache
menny Jan 9, 2022
56c0bfb
Enable Old Arabian for publish
menny Jan 9, 2022
d31f799
Merge pull request #3157 from menny/enable-packs
menny Jan 9, 2022
801c629
Trying out global cache for CI checks
menny Jan 9, 2022
6c55743
Initial Hawaiian pack import
menny Jan 9, 2022
ca596e8
Changing scheduler for rxcontent-resolver
menny Jan 9, 2022
6059b57
Merge pull request #3159 from menny/enable-packs
menny Jan 9, 2022
5b1c0df
Automated Packs List Update
anysoftkeyboard-bot Jan 9, 2022
263dfa4
Merge pull request #3158 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 9, 2022
d13c968
Merge pull request #3140 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 9, 2022
6629883
Merge pull request #3100 from christofjs/add-kaomoji
menny Jan 9, 2022
ab38aee
Change log update
menny Jan 9, 2022
51a331c
publishing rusyn
menny Jan 10, 2022
033f677
Change Serbian pack to allow publishing
menny Jan 10, 2022
5d86d07
Merge pull request #3162 from menny/enable-packs
menny Jan 10, 2022
efc5caf
Automated Packs List Update
anysoftkeyboard-bot Jan 10, 2022
61f2281
Merge pull request #3163 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 10, 2022
04bd86e
auto-publish Serbian
menny Jan 10, 2022
f11174c
Merge pull request #3164 from menny/enable-packs
menny Jan 10, 2022
49c39f1
Trying to break linting to variants to prevent crashes
menny Jan 10, 2022
fa66df2
Automated Packs List Update
anysoftkeyboard-bot Jan 10, 2022
91150ea
Merge pull request #3166 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 10, 2022
b5fca09
Merge pull request #3165 from menny/enable-packs
menny Jan 10, 2022
de32f7f
Deploying addons is long
menny Jan 10, 2022
fcf61fc
Merge pull request #3167 from menny/more-time-for-deplot
menny Jan 10, 2022
54f90f1
Adding addons to the promote job
menny Jan 10, 2022
a65ecf3
Adding dictionary to Hawaiian
menny Jan 10, 2022
f49004a
Merge pull request #3169 from menny/hawaiian-dict
menny Jan 10, 2022
35921c5
Much longer deploy job
menny Jan 10, 2022
e351876
Initial implementation of the bribri layout
Dec 25, 2021
0ee7ba7
Update the publishing values
Jan 1, 2022
e447945
Update build.gradle
menny Jan 3, 2022
4bc3bc4
how to disable dictionary
menny Jan 3, 2022
a04c776
removing bzd dictionay resource
menny Jan 10, 2022
a9a9d7f
Merge pull request #3168 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 10, 2022
d494c14
Adding bribri icons
menny Jan 10, 2022
f9db95a
Fixing missing app_name resource
menny Jan 10, 2022
8ffdcba
Merge pull request #3170 from menny/bribri
menny Jan 11, 2022
43de8c0
Update screenshots for bribri and old-north-arabian
menny Jan 11, 2022
4ca92c8
Merge remote-tracking branch 'origin/release-branch-addons-v4.1-r2'
anysoftkeyboard-bot Jan 11, 2022
18430e7
Merge pull request #3172 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 11, 2022
101e27b
Corrected wrong android codes and label
hsnamr Jan 11, 2022
e08e20b
Enable Bribri after initial release
menny Jan 11, 2022
d4c077a
Merge pull request #3174 from wahballat/oldnortharabian
menny Jan 11, 2022
566f5d6
Merge remote-tracking branch 'origin/release-branch-addons-v4.1-r2'
anysoftkeyboard-bot Jan 11, 2022
be80687
Merge pull request #3175 from menny/enable-packs-in-addon-release
menny Jan 11, 2022
c4ac37f
Merge pull request #3176 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 11, 2022
9d56cf3
Automated Packs List Update
anysoftkeyboard-bot Jan 11, 2022
1a0f79e
Merge pull request #3173 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 11, 2022
210bdac
Support for breaking typed word into possible sub words
menny Jan 11, 2022
4c013fd
Add Suggest support for sub-words. #1200
menny Jan 12, 2022
4e12cab
Support for slightly similar sub-word pick
menny Jan 12, 2022
d447bbc
space-key finding optimization for sub-words
menny Jan 13, 2022
6f1073f
Merge pull request #3178 from menny/ignore-space-letter-in-suggestion
menny Jan 13, 2022
fd2eaf2
Some fixes to fdroid template
menny Jan 13, 2022
f352434
Merge pull request #3182 from menny/fdroid-fixes
menny Jan 13, 2022
bfaf05a
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 14, 2022
7e61fd0
Merge pull request #3177 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 14, 2022
f0ed73c
Fixing hawaiian keyboard pack
menny Jan 14, 2022
f1c2491
Merge pull request #3184 from menny/hawaiian-fix
menny Jan 14, 2022
031e602
Merge remote-tracking branch 'origin/release-branch-addons-v4.1-r2'
anysoftkeyboard-bot Jan 14, 2022
c47adc3
Merge pull request #3185 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 14, 2022
5a710ff
Automated Packs List Update
anysoftkeyboard-bot Jan 14, 2022
24a66ab
Merge pull request #3186 from AnySoftKeyboard/bot-pr/packs-list-update
menny Jan 15, 2022
43928a9
Adding Sardinian
asereze Jan 15, 2022
fd920f5
Merge pull request #3188 from asereze/patch-4
menny Jan 15, 2022
b2a2b92
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 16, 2022
c7ef031
Adding missing locales to force-locale list
menny Jan 16, 2022
0737ca2
Fixing old-arabian locale
menny Jan 16, 2022
aff0c94
Creating an automated process for force-locate update
menny Jan 16, 2022
6e39543
Merge pull request #3190 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 16, 2022
38dc599
Merge pull request #3191 from menny/force-locale-all-valid
menny Jan 16, 2022
4e89908
Fixes to Alif as requested from Theodore Sternberg
menny Jan 16, 2022
089a44c
Hawaiian fixes as requested by Keola Donaghy
menny Jan 16, 2022
57d1470
Merge pull request #3192 from menny/release-fixes
menny Jan 16, 2022
8fd013d
Merge remote-tracking branch 'origin/release-branch-addons-v4.1-r2'
anysoftkeyboard-bot Jan 16, 2022
b6f91b7
Allow picking quick-text for gestures. #1896
menny Jan 16, 2022
ba6f776
Merge pull request #3193 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 16, 2022
7632a3d
Merge pull request #3194 from menny/add-quick-test-popup-as-gesture
menny Jan 16, 2022
1ef35c8
Replacing the Slovak dictionary file with a bigger one
ViktorWalter Jan 14, 2022
7354c52
Merge pull request #3196 from ViktorWalter/bigger_slovak_dictionary_r…
menny Jan 16, 2022
6f57fd6
Update alpha.txt
menny Jan 16, 2022
186c705
Merge remote-tracking branch 'origin/release-branch-addons-v4.1-r2'
anysoftkeyboard-bot Jan 16, 2022
2c77c16
Fix container needed for gradle run in CI
menny Jan 17, 2022
6931de0
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 18, 2022
85ee603
Merge pull request #3199 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 18, 2022
0c6f28b
Merge pull request #3197 from AnySoftKeyboard/bot-pr/merge-to-master-…
menny Jan 18, 2022
82fd854
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 19, 2022
73f8a59
Merge pull request #3201 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 19, 2022
56df7d4
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 20, 2022
5535730
Merge pull request #3203 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 20, 2022
34ec063
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 21, 2022
24cd2ca
Merge pull request #3204 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 21, 2022
b3b45b2
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 22, 2022
b5a0da9
Merge pull request #3206 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 22, 2022
18b7092
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 23, 2022
e3f7ba3
Merge pull request #3208 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 23, 2022
ab559a8
Add Urdu keyboard and dictionary
mirfatif Jul 27, 2020
072eedf
Add punct. marks and more forms of Alif, Heh and Dammatan
mirfatif May 25, 2021
2b29571
wrong quote symbol
menny Jan 18, 2022
ed44b81
Fixing a strange lint issue
menny Jan 24, 2022
48e6ddc
Update packs icons
menny Jan 24, 2022
39e694c
Merge pull request #3211 from menny/Urdu-keyboard-and-dictionary
menny Jan 24, 2022
513f662
Bumping robolectric to 4.7.3
menny Jan 24, 2022
0f16e28
Skipping missing class warning for robolectric shadows
menny Jan 25, 2022
17482fc
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 26, 2022
16cba31
Fixing AllSdk test
menny Jan 26, 2022
bb11a3a
Merge pull request #3212 from menny/bump-robolectric
menny Jan 26, 2022
36d8265
Bump AGP to 7.1.0
menny Jan 26, 2022
0a8c648
Merge pull request #3216 from menny/agp-710
menny Jan 26, 2022
26e75b7
Merge pull request #3209 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 26, 2022
b247254
Merge remote-tracking branch 'upstream/release-branch-addons-v4.1-r2'
menny Jan 26, 2022
4705de5
Merge pull request #3217 from menny/merge-addon-release-to-master
menny Jan 26, 2022
a620e56
Automated Localization Update from crowdin
anysoftkeyboard-bot Jan 27, 2022
33d0b7f
Auto-generating contributors list
menny Sep 18, 2021
9e68aa1
Merge pull request #3222 from menny/contributors
menny Jan 27, 2022
f63a33f
Merge pull request #3219 from AnySoftKeyboard/bot-pr/localization-update
menny Jan 27, 2022
5131867
Ignoring bots in contributors
menny Jan 27, 2022
ffff0b2
Merge pull request #3224 from menny/contributors
menny Jan 28, 2022
270beb0
Spanish: prioritize accents over numbers in popups
dmlls Feb 2, 2022
ea65962
Bump AndroidX Navigation 2.4.0
Unpublished Feb 6, 2022
1c86c36
Automated Localization Update from crowdin
anysoftkeyboard-bot Feb 7, 2022
240fe5e
Merge pull request #3235 from Unpublished/upgradeNavigation
menny Feb 8, 2022
4d80210
Merge pull request #3225 from AnySoftKeyboard/bot-pr/localization-update
menny Feb 8, 2022
f2e749c
outputing build log to build folder
menny Jan 28, 2022
c527de9
Error Prone bump and auto-patch support
menny Jan 31, 2022
2f28f0c
Fix for gradle 7.4
menny Feb 9, 2022
00ba981
Merge pull request #3231 from dmlls/spanish-accents
menny Feb 9, 2022
f955117
Merge pull request #3228 from menny/allowing-bot-to-auto-fix-ep
menny Feb 9, 2022
8478f34
Automated Localization Update from crowdin
anysoftkeyboard-bot Feb 10, 2022
09821c7
Automated Gradle Update
anysoftkeyboard-bot Feb 10, 2022
f36ee26
Merge pull request #3241 from AnySoftKeyboard/bot-pr/gradle-update
menny Feb 10, 2022
135aedf
Automated Contributors List Update
anysoftkeyboard-bot Feb 10, 2022
1c88f4c
Merge pull request #3223 from AnySoftKeyboard/bot-pr/contributors-lis…
menny Feb 10, 2022
8efb984
Merge pull request #3240 from AnySoftKeyboard/bot-pr/localization-update
menny Feb 10, 2022
a14b4db
Automated Localization Update from crowdin
anysoftkeyboard-bot Feb 12, 2022
13f8a1f
Automated Google-Format Update
anysoftkeyboard-bot Feb 12, 2022
7c2783e
fix arabic alif order
menny Feb 13, 2022
8785951
Merge pull request #3245 from AnySoftKeyboard/bot-pr/google-format-up…
menny Feb 13, 2022
e4a68e3
Merge pull request #3244 from AnySoftKeyboard/bot-pr/localization-update
menny Feb 13, 2022
7a93f11
Merge pull request #3246 from menny/fix-lang-popups
menny Feb 13, 2022
34a1901
Downgrade Gradle while waiting for fixes related to publishing
menny Feb 17, 2022
3ca33fb
Merge pull request #3252 from menny/downgrade-gradle-for-publishing
menny Feb 17, 2022
dd1763d
un-ignore some skin-tone tests
menny Jan 18, 2022
ccf9890
AGP update
menny Feb 22, 2022
e33c4f6
Much better popup-characters orginazing algorithm
menny Jan 24, 2022
459acfa
Add change-logs entries
menny Feb 25, 2022
16874fd
Merge pull request #3247 from menny/hawaiian-fixes
menny Feb 25, 2022
d9edbb1
Automating AGP bumps
menny Feb 28, 2022
4f6a698
Generic maven deps update
menny Feb 28, 2022
3a120e2
Adding relinker to generic bumper
menny Feb 28, 2022
812ebd7
Fix for version sorting
menny Feb 28, 2022
3018b41
Merge pull request #3260 from menny/agp-auto-bump
menny Feb 28, 2022
39e7c70
Update third_party_update.yml
menny Mar 1, 2022
e2841eb
Adding checks for github actions
menny Mar 1, 2022
bf74cd2
A few yaml fixes
menny Mar 1, 2022
515c096
Fix for github action
menny Mar 1, 2022
c730a40
Force install usig apt-get
menny Mar 1, 2022
f0c0a5e
Not running action-lint if go is not installed
menny Mar 1, 2022
bd0cd09
Merge pull request #3261 from menny/actions-lint
menny Mar 2, 2022
0b63076
Update third_party_update.yml
menny Mar 2, 2022
b821e19
Automated Localization Update from crowdin
anysoftkeyboard-bot Mar 6, 2022
7187bc1
Merge pull request #3253 from AnySoftKeyboard/bot-pr/localization-update
menny Mar 6, 2022
4fde307
Automated Google-Format Update
anysoftkeyboard-bot Mar 8, 2022
11d9803
Merge pull request #3267 from AnySoftKeyboard/bot-pr/google-format-up…
menny Mar 8, 2022
3c60270
Automated Localization Update from crowdin
anysoftkeyboard-bot Mar 9, 2022
97c5215
Automated Gradle Update
anysoftkeyboard-bot Mar 10, 2022
c74eba6
Merge pull request #3266 from AnySoftKeyboard/bot-pr/localization-update
menny Mar 11, 2022
392ed6d
Merge pull request #3254 from AnySoftKeyboard/bot-pr/gradle-update
menny Mar 11, 2022
8375c5c
Allowing gestures from all dictionaries
menny Mar 9, 2022
840e89f
Fix yaml script newlines
menny Mar 11, 2022
0af30ad
Merge pull request #3269 from menny/gesture-from-all-dictionaries
menny Mar 11, 2022
f30b4c6
Change logs changes
menny Mar 11, 2022
9145e04
Removing deactived short-link url
menny Mar 11, 2022
03d8f94
Merge pull request #3272 from menny/remove-short-url
menny Mar 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
19 changes: 19 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
* @AnySoftKeyboard/maintainers
#only organization owner can change the license
/LICENSE @menny
#core infra structure team can approve github configuration
/.github @AnySoftKeyboard/infra
/.github/CODEOWNERS @AnySoftKeyboard/infra
#core infra structure team can approve build scripts and gradle settings
/scripts @AnySoftKeyboard/infra
/gradle @AnySoftKeyboard/infra
/buildSrc @AnySoftKeyboard/infra
#any active maintainer can change AnySoftKeyboard code
/ime @AnySoftKeyboard/maintainers
/api @AnySoftKeyboard/maintainers
**/build.gradle @AnySoftKeyboard/maintainers
#add-on-maintainers can approve all add-on changes and localizations across the code-base
/addons @AnySoftKeyboard/add-on-maintainers
**/strings.xml @AnySoftKeyboard/add-on-maintainers
#any active developer can approve markdowns
**/*.md @AnySoftKeyboard/developers
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
github: [menny]
custom: ["https://github.com/sponsors/menny", "https://www.paypal.me/menny"]
24 changes: 24 additions & 0 deletions .github/actions/codecov/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: "code-coverage"
author: "menny"
description: "action which locate coverage files and uploads them"

inputs:
codecov_token:
description: "API token used to upload coverage"
required: false
default: "fa64b6e7-aa1b-48e3-ba3b-66cf7fe146d0"

runs:
using: "docker"
image: "docker://menny/android_ndk:1.15.3"
env:
TERM: dumb
entrypoint: /bin/bash
args:
- .github/actions/codecov/upload_coverage.sh
- ${{ inputs.codecov_token }}

branding:
icon: 'pie-chart'
color: 'green'
13 changes: 13 additions & 0 deletions .github/actions/codecov/upload_coverage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -e

CODECOV_TOKEN="${1}"

wget --tries=5 --waitretry=5 --progress=dot:mega --output-document=codecov.sh https://codecov.io/bash
chmod +x codecov.sh

TARGET_FOLDER="${PWD}/build/jacoco"

ls -al "${TARGET_FOLDER}"

./scripts/retry.sh 5 ./codecov.sh -t "${CODECOV_TOKEN}" -X coveragepy -X xcode -X gcov -s "${TARGET_FOLDER}"
26 changes: 26 additions & 0 deletions .github/actions/collect-reports/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: "collect-reports"
author: "menny"
description: "Collect checks report files"

inputs:
output_folder:
description: "collect destination"
default: "collected_reports"
required: true
file_pattern:
description: "pattern for files"
required: true

runs:
using: "docker"
image: "docker://menny/android_ndk:1.15.3"
entrypoint: /bin/bash
args:
- .github/actions/collect-reports/collect.sh
- ${{ inputs.output_folder }}
- ${{ inputs.file_pattern }}

branding:
icon: 'package'
color: 'green'
16 changes: 16 additions & 0 deletions .github/actions/collect-reports/collect.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e

OUTPUT=${1}
FILE_PATTERN=${2}

rm -rf "/tmp/${OUTPUT}" || true
mkdir -p "/tmp/${OUTPUT}"
rm -rf "${OUTPUT}" || true
mkdir -p "${OUTPUT}"

TEMP_TAR="/tmp/${OUTPUT}/archive.tar"
tar -cvf "${TEMP_TAR}" --files-from /dev/null
find . -path "${FILE_PATTERN}" -exec tar uvf "${TEMP_TAR}" {} \;

mv "${TEMP_TAR}" "${OUTPUT}/"
41 changes: 41 additions & 0 deletions .github/actions/deploy-request/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: "deploy-request"
description: "Request a deployment"
author: "menny"

inputs:
sha:
description: "SHA to deploy. Either a specific commit, or HEAD."
required: true
ref:
description: "branch to deploy"
required: true
new_deploy:
description: "whether this is a new deploy"
required: true
api_username:
description: "username for github api"
required: true
api_token:
description: "token for github api"
required: true
runs:
using: "docker"
image: "docker://menny/android_ndk:1.15.3"
env:
TERM: dumb
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
GRADLE_USER_HOME: ".github_cache_gradle/"

entrypoint: /bin/bash
args:
- .github/actions/deploy-request/deployment_request.sh
- ${{ inputs.sha }}
- ${{ inputs.ref }}
- ${{ inputs.new_deploy }}
- ${{ inputs.api_username }}
- ${{ inputs.api_token }}

branding:
icon: 'upload-cloud'
color: 'blue'
24 changes: 24 additions & 0 deletions .github/actions/deploy-request/deployment_request.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -e

SHA="${1}"
shift
REF="${1}"
shift
NEW_DEPLOY="${1}"
shift
API_USERNAME="${1}"
shift
API_TOKEN="${1}"
shift

if [[ "${SHA}" == "HEAD" ]]; then
echo "HEAD was specified as SHA. Taking from git:"
SHA="$(git show-ref --head --hash "${REF}" | tail -n 1)"
echo "HEAD SHA was found to be '${SHA}'."
fi

echo "Request deployment flow for sha ${SHA} on branch ${REF}. New deployment: ${NEW_DEPLOY}."
./gradlew --rerun-tasks :deployment:deploymentRequestProcess -PRequest.sha="${SHA}" -PRequest.ref="${REF}" -PRequest.new_deploy="${NEW_DEPLOY}" -PRequest.apiUsername="${API_USERNAME}" -PRequest.apiUserToken="${API_TOKEN}"

[[ -n "${GITHUB_ACTIONS}" ]] && chmod -R a+rwx .
53 changes: 53 additions & 0 deletions .github/actions/deploy/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: "deploy"
description: "Deploys the AnySoftKeyboard artifacts to Play Store"
author: "menny"

inputs:
deployment_environment:
description: "Deploy to which environment"
required: true
previous_deployment_environment:
description: "The previous deployed environment. NONE for none."
required: true
deployment_task:
description: "Deployment task"
required: true
crash_report_email:
default: "none@example.com"
description: "email address for crash reporting "
required: true
secrets_repo_folder:
default: ""
description: "AnySoftKeyboard secrets folder"
required: true
keystore_password:
default: ""
description: "APK signing keystore password"
required: true
keystore_key_password:
default: ""
description: "APK signing keystore default key password"
required: true
runs:
using: "docker"
image: "docker://menny/android_ndk:1.15.3"
env:
TERM: dumb
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
GRADLE_USER_HOME: ".github_cache_gradle/"

entrypoint: /bin/bash
args:
- .github/actions/deploy/deploy.sh
- ${{ inputs.deployment_environment }}
- ${{ inputs.previous_deployment_environment }}
- ${{ inputs.deployment_task }}
- ${{ inputs.crash_report_email }}
- ${{ inputs.secrets_repo_folder }}
- ${{ inputs.keystore_password }}
- ${{ inputs.keystore_key_password }}

branding:
icon: 'upload-cloud'
color: 'blue'
Binary file added .github/actions/deploy/debug.keystore
Binary file not shown.
134 changes: 134 additions & 0 deletions .github/actions/deploy/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
#!/usr/bin/env bash
set -e

DEPLOYMENT_ENVIRONMENT="${1}"
shift
PREVIOUS_DEPLOYMENT_ENVIRONMENT="${1}"
shift
DEPLOYMENT_TASK="${1}"
shift
export ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL="${1}"
shift
SECRETS_REPO_FOLDER="${1}"
shift
export KEY_STORE_FILE_PASSWORD="${1}"
shift
export KEY_STORE_FILE_DEFAULT_ALIAS_PASSWORD="${1}"
shift

function deployProcessFromEnvironmentName() {
#imeMaster_alpha_100
[[ $1 =~ ([a-zA-Z]+)_.*_.* ]]
echo "${BASH_REMATCH[1]}"
}

function deployChannelFromEnvironmentName() {
#imeMaster_alpha_100
[[ $1 =~ .*_([a-zA-Z]+)_.* ]]
echo "${BASH_REMATCH[1]}"
}

function deployFractionFromEnvironmentName() {
#imeMaster_alpha_100
[[ $1 =~ .*_.*_([0-9]+) ]]
local PERCENTAGE="${BASH_REMATCH[1]}"
echo "$(echo "${PERCENTAGE}" | cut -c1-1).$(echo "${PERCENTAGE}" | cut -c2-3)"
}

PROCESS_NAME=$(deployProcessFromEnvironmentName "${DEPLOYMENT_ENVIRONMENT}")
DEPLOY_CHANNEL=$(deployChannelFromEnvironmentName "${DEPLOYMENT_ENVIRONMENT}")
FRACTION=$(deployFractionFromEnvironmentName "${DEPLOYMENT_ENVIRONMENT}")

echo "for ${DEPLOYMENT_ENVIRONMENT}: will deploy process ${PROCESS_NAME} to ${DEPLOY_CHANNEL} with ${FRACTION} fraction."
export BUILD_COUNT_FOR_VERSION=${GITHUB_RUN_NUMBER}

echo "Copying secret files..."
cp "${SECRETS_REPO_FOLDER}/anysoftkeyboard.keystore" /tmp/anysoftkeyboard.keystore
cp "${SECRETS_REPO_FOLDER}/playstore-publisher-certs.json" /tmp/apk_upload_key.json

echo "Preparing change log files..."
for f in $(find . -name 'alpha.txt'); do
cp $f "$(dirname $f)/beta.txt"
cp $f "$(dirname $f)/production.txt"
done

DEPLOY_ARGS=()
DEPLOY_TASKS=( "--rerun-tasks" "--continue" "--stacktrace" "-PwithAutoVersioning" ":generateFdroidYamls" )
if [[ "${FRACTION}" == "1.00" ]]; then
DEPLOY_ARGS+=("--release-status" "completed")
else
DEPLOY_ARGS+=("--release-status" "inProgress" "--user-fraction" "${FRACTION}")
fi

# we will call assemble, bundle and publish to ensure:
# 1) we have the APK file
# 2) we have the aab file
# 3) we have uploaded (published) the AAB file to Play Store

if [[ "${DEPLOYMENT_TASK}" == "deploy" ]]; then
case "${PROCESS_NAME}" in

imeMaster)
DEPLOY_TASKS+=( "ime:app:assembleCanary" "ime:app:bundleCanary" "ime:app:publishCanaryBundle" )
DEPLOY_ARGS+=( "--track" "${DEPLOY_CHANNEL}" )
;;

imeProduction)
DEPLOY_ARGS+=( "--track" "${DEPLOY_CHANNEL}" )
DEPLOY_TASKS+=( "ime:app:assembleRelease" "ime:app:bundleRelease" "ime:app:publishReleaseBundle" )
;;

addOns*)
DEPLOY_ARGS+=( "--track" "${DEPLOY_CHANNEL}" )
DEPLOY_TASKS+=( "assembleRelease" "bundleRelease" "publishReleaseBundle" "-x" "ime:app:assembleRelease" "-x" "ime:app:bundleRelease" "-x" "ime:app:publishReleaseBundle" )
;;

*)
echo "PROCESS_NAME '${PROCESS_NAME}' is unknown in task ${DEPLOYMENT_TASK}!"
exit 1
;;

esac
elif [[ "${DEPLOYMENT_TASK}" == "deploy:migration" ]]; then
PREVIOUS_DEPLOY_CHANNEL=$(deployChannelFromEnvironmentName "${PREVIOUS_DEPLOYMENT_ENVIRONMENT}")
case "${PROCESS_NAME}" in

ime*)
DEPLOY_ARGS+=( "--from-track" "${PREVIOUS_DEPLOY_CHANNEL}" "--promote-track" "${DEPLOY_CHANNEL}" )
DEPLOY_TASKS+=( "ime:app:promoteReleaseArtifact" )
;;

addOns*)
DEPLOY_ARGS+=( "--from-track" "${PREVIOUS_DEPLOY_CHANNEL}" "--promote-track" "${DEPLOY_CHANNEL}" )
DEPLOY_TASKS+=( "promoteReleaseArtifact" "-x" "ime:app:promoteReleaseArtifact" )
;;

esac
fi

echo "Counter is ${BUILD_COUNT_FOR_VERSION}, crash email: ${ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL}, and tasks: ${DEPLOY_TASKS[*]}, and DEPLOY_ARGS: ${DEPLOY_ARGS[*]}"

./gradlew "${DEPLOY_TASKS[@]}" "${DEPLOY_ARGS[@]}"

#Making sure no future deployments will happen on this branch.
if [[ "${FRACTION}" == "1.00" ]] && [[ "${DEPLOY_CHANNEL}" == "production" ]]; then
echo "A successful full deploy to production has finished."
MARKER_FILE="deployment/halt_deployment_marker"
if [[ -f "${MARKER_FILE}" ]]; then
echo "${MARKER_FILE} exits. No need to create another."
else
BRANCH_NAME="$(git name-rev --name-only HEAD)"
echo "Will create ${MARKER_FILE} to halt future releases in the branch '${BRANCH_NAME}'."
echo "Full deployment to production '${DEPLOYMENT_ENVIRONMENT}' was successful." > "${MARKER_FILE}"
git config --global user.email "ask@evendanan.net"
git config --global user.name "Polyglot"
git add "${MARKER_FILE}"
git commit -m "Halting deploy to ${DEPLOYMENT_ENVIRONMENT}"
git push origin "HEAD:${BRANCH_NAME}" || {
echo "Failed to push to origin HEAD:${BRANCH_NAME}"
git remote -v
}
fi
fi

[[ -n "${GITHUB_ACTIONS}" ]] && chmod -R a+rwx .
32 changes: 32 additions & 0 deletions .github/actions/test-shard-run/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: "Run tests"
author: "menny"
description: "Runs tests using Gradle and sharding support"

inputs:
index:
description: "zero-based index of the shard"
groups_count:
description: "count of groups"
module:
default: ""
extra_args:
default: ""
runs:
using: "docker"
image: "docker://menny/android_ndk:1.15.3"
env:
TERM: dumb
GRADLE_USER_HOME: ".github_cache_gradle/"
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
entrypoint: /bin/bash
args:
- .github/actions/test-shard-run/run_tests.sh
- ${{ inputs.groups_count }}
- ${{ inputs.index }}
- ${{ inputs.module }}
- ${{ inputs.extra_args }}

branding:
icon: 'activity'
color: 'yellow'
Loading