Skip to content

Commit fff3f9e

Browse files
ci: add fastlane
Close: #726
1 parent 65d6fe4 commit fff3f9e

Some content is hidden

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

52 files changed

+655
-1
lines changed

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,10 @@ render.experimental.xml
3030
google-services.json
3131

3232
# Android Profiling
33-
*.hprof
33+
*.hprof
34+
35+
# Fastlane
36+
fastlane/report.xml
37+
fastlane/Preview.html
38+
fastlane/screenshots
39+
fastlane/test_output

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gem "fastlane"

Gemfile.lock

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
CFPropertyList (3.0.7)
5+
base64
6+
nkf
7+
rexml
8+
addressable (2.8.6)
9+
public_suffix (>= 2.0.2, < 6.0)
10+
artifactory (3.0.17)
11+
atomos (0.1.3)
12+
aws-eventstream (1.3.0)
13+
aws-partitions (1.913.0)
14+
aws-sdk-core (3.191.6)
15+
aws-eventstream (~> 1, >= 1.3.0)
16+
aws-partitions (~> 1, >= 1.651.0)
17+
aws-sigv4 (~> 1.8)
18+
jmespath (~> 1, >= 1.6.1)
19+
aws-sdk-kms (1.79.0)
20+
aws-sdk-core (~> 3, >= 3.191.0)
21+
aws-sigv4 (~> 1.1)
22+
aws-sdk-s3 (1.146.1)
23+
aws-sdk-core (~> 3, >= 3.191.0)
24+
aws-sdk-kms (~> 1)
25+
aws-sigv4 (~> 1.8)
26+
aws-sigv4 (1.8.0)
27+
aws-eventstream (~> 1, >= 1.0.2)
28+
babosa (1.0.4)
29+
base64 (0.2.0)
30+
claide (1.1.0)
31+
colored (1.2)
32+
colored2 (3.1.2)
33+
commander (4.6.0)
34+
highline (~> 2.0.0)
35+
declarative (0.0.20)
36+
digest-crc (0.6.5)
37+
rake (>= 12.0.0, < 14.0.0)
38+
domain_name (0.6.20240107)
39+
dotenv (2.8.1)
40+
emoji_regex (3.2.3)
41+
excon (0.110.0)
42+
faraday (1.10.3)
43+
faraday-em_http (~> 1.0)
44+
faraday-em_synchrony (~> 1.0)
45+
faraday-excon (~> 1.1)
46+
faraday-httpclient (~> 1.0)
47+
faraday-multipart (~> 1.0)
48+
faraday-net_http (~> 1.0)
49+
faraday-net_http_persistent (~> 1.0)
50+
faraday-patron (~> 1.0)
51+
faraday-rack (~> 1.0)
52+
faraday-retry (~> 1.0)
53+
ruby2_keywords (>= 0.0.4)
54+
faraday-cookie_jar (0.0.7)
55+
faraday (>= 0.8.0)
56+
http-cookie (~> 1.0.0)
57+
faraday-em_http (1.0.0)
58+
faraday-em_synchrony (1.0.0)
59+
faraday-excon (1.1.0)
60+
faraday-httpclient (1.0.1)
61+
faraday-multipart (1.0.4)
62+
multipart-post (~> 2)
63+
faraday-net_http (1.0.1)
64+
faraday-net_http_persistent (1.2.0)
65+
faraday-patron (1.0.0)
66+
faraday-rack (1.0.0)
67+
faraday-retry (1.0.3)
68+
faraday_middleware (1.2.0)
69+
faraday (~> 1.0)
70+
fastimage (2.3.1)
71+
fastlane (2.220.0)
72+
CFPropertyList (>= 2.3, < 4.0.0)
73+
addressable (>= 2.8, < 3.0.0)
74+
artifactory (~> 3.0)
75+
aws-sdk-s3 (~> 1.0)
76+
babosa (>= 1.0.3, < 2.0.0)
77+
bundler (>= 1.12.0, < 3.0.0)
78+
colored (~> 1.2)
79+
commander (~> 4.6)
80+
dotenv (>= 2.1.1, < 3.0.0)
81+
emoji_regex (>= 0.1, < 4.0)
82+
excon (>= 0.71.0, < 1.0.0)
83+
faraday (~> 1.0)
84+
faraday-cookie_jar (~> 0.0.6)
85+
faraday_middleware (~> 1.0)
86+
fastimage (>= 2.1.0, < 3.0.0)
87+
gh_inspector (>= 1.1.2, < 2.0.0)
88+
google-apis-androidpublisher_v3 (~> 0.3)
89+
google-apis-playcustomapp_v1 (~> 0.1)
90+
google-cloud-env (>= 1.6.0, < 2.0.0)
91+
google-cloud-storage (~> 1.31)
92+
highline (~> 2.0)
93+
http-cookie (~> 1.0.5)
94+
json (< 3.0.0)
95+
jwt (>= 2.1.0, < 3)
96+
mini_magick (>= 4.9.4, < 5.0.0)
97+
multipart-post (>= 2.0.0, < 3.0.0)
98+
naturally (~> 2.2)
99+
optparse (>= 0.1.1, < 1.0.0)
100+
plist (>= 3.1.0, < 4.0.0)
101+
rubyzip (>= 2.0.0, < 3.0.0)
102+
security (= 0.1.5)
103+
simctl (~> 1.6.3)
104+
terminal-notifier (>= 2.0.0, < 3.0.0)
105+
terminal-table (~> 3)
106+
tty-screen (>= 0.6.3, < 1.0.0)
107+
tty-spinner (>= 0.8.0, < 1.0.0)
108+
word_wrap (~> 1.0.0)
109+
xcodeproj (>= 1.13.0, < 2.0.0)
110+
xcpretty (~> 0.3.0)
111+
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
112+
gh_inspector (1.1.3)
113+
google-apis-androidpublisher_v3 (0.54.0)
114+
google-apis-core (>= 0.11.0, < 2.a)
115+
google-apis-core (0.11.3)
116+
addressable (~> 2.5, >= 2.5.1)
117+
googleauth (>= 0.16.2, < 2.a)
118+
httpclient (>= 2.8.1, < 3.a)
119+
mini_mime (~> 1.0)
120+
representable (~> 3.0)
121+
retriable (>= 2.0, < 4.a)
122+
rexml
123+
google-apis-iamcredentials_v1 (0.17.0)
124+
google-apis-core (>= 0.11.0, < 2.a)
125+
google-apis-playcustomapp_v1 (0.13.0)
126+
google-apis-core (>= 0.11.0, < 2.a)
127+
google-apis-storage_v1 (0.31.0)
128+
google-apis-core (>= 0.11.0, < 2.a)
129+
google-cloud-core (1.7.0)
130+
google-cloud-env (>= 1.0, < 3.a)
131+
google-cloud-errors (~> 1.0)
132+
google-cloud-env (1.6.0)
133+
faraday (>= 0.17.3, < 3.0)
134+
google-cloud-errors (1.4.0)
135+
google-cloud-storage (1.47.0)
136+
addressable (~> 2.8)
137+
digest-crc (~> 0.4)
138+
google-apis-iamcredentials_v1 (~> 0.1)
139+
google-apis-storage_v1 (~> 0.31.0)
140+
google-cloud-core (~> 1.6)
141+
googleauth (>= 0.16.2, < 2.a)
142+
mini_mime (~> 1.0)
143+
googleauth (1.8.1)
144+
faraday (>= 0.17.3, < 3.a)
145+
jwt (>= 1.4, < 3.0)
146+
multi_json (~> 1.11)
147+
os (>= 0.9, < 2.0)
148+
signet (>= 0.16, < 2.a)
149+
highline (2.0.3)
150+
http-cookie (1.0.5)
151+
domain_name (~> 0.5)
152+
httpclient (2.8.3)
153+
jmespath (1.6.2)
154+
json (2.7.2)
155+
jwt (2.8.1)
156+
base64
157+
mini_magick (4.12.0)
158+
mini_mime (1.1.5)
159+
multi_json (1.15.0)
160+
multipart-post (2.4.0)
161+
nanaimo (0.3.0)
162+
naturally (2.2.1)
163+
nkf (0.2.0)
164+
optparse (0.4.0)
165+
os (1.1.4)
166+
plist (3.7.1)
167+
public_suffix (5.0.5)
168+
rake (13.2.1)
169+
representable (3.2.0)
170+
declarative (< 0.1.0)
171+
trailblazer-option (>= 0.1.1, < 0.2.0)
172+
uber (< 0.2.0)
173+
retriable (3.1.2)
174+
rexml (3.2.6)
175+
rouge (2.0.7)
176+
ruby2_keywords (0.0.5)
177+
rubyzip (2.3.2)
178+
security (0.1.5)
179+
signet (0.19.0)
180+
addressable (~> 2.8)
181+
faraday (>= 0.17.5, < 3.a)
182+
jwt (>= 1.5, < 3.0)
183+
multi_json (~> 1.10)
184+
simctl (1.6.10)
185+
CFPropertyList
186+
naturally
187+
terminal-notifier (2.0.0)
188+
terminal-table (3.0.2)
189+
unicode-display_width (>= 1.1.1, < 3)
190+
trailblazer-option (0.1.2)
191+
tty-cursor (0.7.1)
192+
tty-screen (0.8.2)
193+
tty-spinner (0.9.3)
194+
tty-cursor (~> 0.7)
195+
uber (0.1.0)
196+
unicode-display_width (2.5.0)
197+
word_wrap (1.0.0)
198+
xcodeproj (1.24.0)
199+
CFPropertyList (>= 2.3.3, < 4.0)
200+
atomos (~> 0.1.3)
201+
claide (>= 1.0.2, < 2.0)
202+
colored2 (~> 3.1)
203+
nanaimo (~> 0.3.0)
204+
rexml (~> 3.2.4)
205+
xcpretty (0.3.0)
206+
rouge (~> 2.0.7)
207+
xcpretty-travis-formatter (1.0.1)
208+
xcpretty (~> 0.2, >= 0.0.7)
209+
210+
PLATFORMS
211+
ruby
212+
x86_64-linux
213+
214+
DEPENDENCIES
215+
fastlane
216+
217+
BUNDLED WITH
218+
2.5.4

fastlane/Appfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package_name("dev.jdtech.jellyfin")

fastlane/Fastfile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
default_platform(:android)
2+
3+
platform :android do
4+
desc "Build and publish"
5+
lane :publish do
6+
gradle(task: "clean")
7+
gradle(
8+
task: "assemble",
9+
flavor: "libre",
10+
build_type: "release",
11+
print_command: false,
12+
properties: {
13+
"android.injected.signing.store.file" => ENV["FINDROID_KEYSTORE"],
14+
"android.injected.signing.store.password" => ENV["FINDROID_KEYSTORE_PASSWORD"],
15+
"android.injected.signing.key.alias" => ENV["FINDROID_KEY_ALIAS"],
16+
"android.injected.signing.key.password" => ENV["FINDROID_KEY_PASSWORD"],
17+
}
18+
)
19+
20+
gradle(
21+
task: "bundle",
22+
flavor: "libre",
23+
build_type: "release",
24+
print_command: false,
25+
properties: {
26+
"android.injected.signing.store.file" => ENV["FINDROID_KEYSTORE"],
27+
"android.injected.signing.store.password" => ENV["FINDROID_KEYSTORE_PASSWORD"],
28+
"android.injected.signing.key.alias" => ENV["FINDROID_KEY_ALIAS"],
29+
"android.injected.signing.key.password" => ENV["FINDROID_KEY_PASSWORD"],
30+
}
31+
)
32+
33+
upload_to_play_store(
34+
aab: "./app/phone/build/outputs/bundle/libreRelease/phone-libre-release.aab"
35+
track: "production",
36+
rollout: 1,
37+
json_key: ENV["FINDROID_PLAY_API_CREDENTIALS"],
38+
skip_upload_apk: true,
39+
sync_image_upload: true
40+
)
41+
end
42+
end

fastlane/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
fastlane documentation
2+
----
3+
4+
# Installation
5+
6+
Make sure you have the latest version of the Xcode command line tools installed:
7+
8+
```sh
9+
xcode-select --install
10+
```
11+
12+
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
13+
14+
# Available Actions
15+
16+
## Android
17+
18+
### android test
19+
20+
```sh
21+
[bundle exec] fastlane android test
22+
```
23+
24+
Runs all the tests
25+
26+
### android beta
27+
28+
```sh
29+
[bundle exec] fastlane android beta
30+
```
31+
32+
Submit a new Beta Build to Crashlytics Beta
33+
34+
### android deploy
35+
36+
```sh
37+
[bundle exec] fastlane android deploy
38+
```
39+
40+
Deploy a new version to the Google Play
41+
42+
### android build
43+
44+
```sh
45+
[bundle exec] fastlane android build
46+
```
47+
48+
build
49+
50+
----
51+
52+
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
53+
54+
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
55+
56+
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Features:
2+
- Completely native interface
3+
- Supported media items: movies, series, seasons, episodes
4+
- Video codes: H.263, H.264, H.265, VP8, VP9, AV1
5+
- Audio codes: Vorbis, Opus, FLAC, ALAC, PCM µ-law, PCM A-law, MP1, MP2, MP3, AMR-NB, AMR-WB, AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD
6+
- Subtitle codecs: SRT, VTT, SSA/ASS, PGSSUB
7+
- Support for multiple servers
8+
- Set preferred audio and subtitle language
9+
- Light & dark theme
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
New features:
2+
- Split gesture option into volume & brightness and zoom
3+
- Add support for external subtitles (only ExoPlayer)
4+
- Customize the seeking increments
5+
- Add option to disable subtitles in mpv
6+
7+
Improvements:
8+
- Lot's of translations (Bulgarian, Chinese, French, German, Hungarian, Italian, Polish, Portuguese, Spanish)
9+
- Provide better error messages with stacktrace
10+
- Display downloaded episodes by series
11+
- Add paging support to the library
12+
13+
Also fixed a few crashes
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
New features:
2+
- Allow seeking video by swiping or tapping
3+
- Material You Dynamic colors
4+
- Display public users on login screen
5+
- Display discovered servers on add server screen
6+
7+
Improvements:
8+
- Layout improvements for larger screens
9+
- Bring back Android TV (fix crashes and improvements)
10+
11+
Translations: Chinese (Simplified), French, Italian, Korean, Russian
12+
13+
Fixes:
14+
- Fix crash when navigating to login screen (and other screens)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Improvements:
2+
- Add "pinch to zoom" support to mpv
3+
4+
Fixes:
5+
- Fix play icon color in settings
6+
- Fix mpv subfont.ttf not loading
7+
- This fixes mpv not displaying SubRip Text (SRT) subtitles
8+
- Fix external subtiles not working in mpv
9+
- Fix crash when using swiping gesture if video is not loaded yet
10+
- Fix player crashing when no PlayerItems are passed
11+
- Fix only showing 1 discovered server
12+
13+
Translations: Korean, Polish, Spanish

0 commit comments

Comments
 (0)