shipthis 0.1.33 → 0.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +8 -7
  2. package/assets/markdown/{android-success.md → android-success.md.ejs} +2 -2
  3. package/assets/markdown/apikey-create.md.ejs +11 -0
  4. package/assets/markdown/{create-google-play-game.md → create-google-play-game.md.ejs} +2 -2
  5. package/assets/markdown/{invite-service-account.md → invite-service-account.md.ejs} +1 -1
  6. package/assets/markdown/{ios-success.md → ios-success.md.ejs} +2 -2
  7. package/assets/markdown/{privacy-notification.md → privacy-notification.md.ejs} +1 -1
  8. package/assets/markdown/service-account-policy-wizard.md.ejs +26 -0
  9. package/assets/markdown/service-account-policy.md.ejs +30 -0
  10. package/assets/markdown/{ship-failure.md → ship-failure.md.ejs} +1 -1
  11. package/assets/markdown/{ship-success.md → ship-success.md.ejs} +2 -2
  12. package/dist/{AppleBundleIdDetails-BhHPCvRm.js → AppleBundleIdDetails-N_j1wv6f.js} +5 -4
  13. package/dist/{Command-BDIkuv2g.js → Command-DN1j3tjt.js} +2 -2
  14. package/dist/{CommandGame-CvBIjPZp.js → CommandGame-D2NqytWc.js} +2 -2
  15. package/dist/{Create-Lpe0B8nT.js → Create-BRdv5jXQ.js} +5 -4
  16. package/dist/{GameStatus-5XpufIY_.js → GameStatus-joyHPy0f.js} +12 -17
  17. package/dist/{Import-DFzrAG04.js → Import-BNMHsJoM.js} +5 -4
  18. package/dist/{JobLogTail-BYcJgPcL.js → JobLogTail-D35FO5v-.js} +5 -5
  19. package/dist/{JobProgress-BcrE7CUK.js → JobProgress-D-9KESaA.js} +6 -5
  20. package/dist/{JobStatusTable-Bi-y8ZZT.js → JobStatusTable-DIJ_h-gi.js} +4 -4
  21. package/dist/{ProjectCredentialsTable-B4vDJl4l.js → ProjectCredentialsTable-BMKgv99h.js} +2 -2
  22. package/dist/{RunWithSpinner-gMVA07bZ.js → RunWithSpinner-DucRnFp6.js} +2 -1
  23. package/dist/{UserCredentialsTable-CwkZTFBD.js → UserCredentialsTable-CUrTDzTK.js} +10 -10
  24. package/dist/{baseAppleCommand-BKXweb-U.js → baseAppleCommand-Cs9a52e5.js} +1 -1
  25. package/dist/{baseGameAndroidCommand-CAi-BSsH.js → baseGameAndroidCommand-BCB1SMCf.js} +2 -2
  26. package/dist/commands/apiKey/create.js +100 -0
  27. package/dist/commands/apiKey/list.js +94 -0
  28. package/dist/commands/apiKey/revoke.js +85 -0
  29. package/dist/commands/apple/apiKey/create.js +12 -9
  30. package/dist/commands/apple/apiKey/export.js +11 -8
  31. package/dist/commands/apple/apiKey/import.js +11 -8
  32. package/dist/commands/apple/apiKey/status.js +16 -13
  33. package/dist/commands/apple/certificate/create.js +12 -9
  34. package/dist/commands/apple/certificate/export.js +11 -8
  35. package/dist/commands/apple/certificate/import.js +11 -8
  36. package/dist/commands/apple/certificate/status.js +16 -13
  37. package/dist/commands/apple/login.js +2 -2
  38. package/dist/commands/apple/status.js +8 -5
  39. package/dist/commands/dashboard.js +1 -1
  40. package/dist/commands/game/android/apiKey/connect.js +13 -9
  41. package/dist/commands/game/android/apiKey/create.js +15 -11
  42. package/dist/commands/game/android/apiKey/export.js +12 -9
  43. package/dist/commands/game/android/apiKey/import.js +12 -9
  44. package/dist/commands/game/android/apiKey/invite.js +4 -4
  45. package/dist/commands/game/android/apiKey/policy.js +87 -0
  46. package/dist/commands/game/android/apiKey/status.js +11 -8
  47. package/dist/commands/game/android/keyStore/create.js +13 -10
  48. package/dist/commands/game/android/keyStore/export.js +11 -8
  49. package/dist/commands/game/android/keyStore/import.js +13 -10
  50. package/dist/commands/game/android/keyStore/status.js +10 -7
  51. package/dist/commands/game/android/status.js +1 -1
  52. package/dist/commands/game/build/download.js +9 -6
  53. package/dist/commands/game/build/list.js +9 -6
  54. package/dist/commands/game/create.js +2 -2
  55. package/dist/commands/game/details.js +8 -5
  56. package/dist/commands/game/export.js +1 -1
  57. package/dist/commands/game/ios/app/addTester.js +16 -13
  58. package/dist/commands/game/ios/app/create.js +9 -6
  59. package/dist/commands/game/ios/app/status.js +11 -8
  60. package/dist/commands/game/ios/app/sync.js +10 -7
  61. package/dist/commands/game/ios/profile/create.js +12 -9
  62. package/dist/commands/game/ios/profile/export.js +11 -8
  63. package/dist/commands/game/ios/profile/import.js +11 -8
  64. package/dist/commands/game/ios/profile/status.js +10 -7
  65. package/dist/commands/game/ios/status.js +13 -10
  66. package/dist/commands/game/ios/wizard.js +9 -6
  67. package/dist/commands/game/job/list.js +8 -5
  68. package/dist/commands/game/job/status.js +11 -8
  69. package/dist/commands/game/list.js +15 -10
  70. package/dist/commands/game/ship.js +15 -12
  71. package/dist/commands/game/status.js +10 -7
  72. package/dist/commands/game/wizard.js +24 -20
  73. package/dist/commands/internal/fastlane.js +1 -1
  74. package/dist/commands/internal/readme.js +4 -715
  75. package/dist/commands/login.js +2 -2
  76. package/dist/commands/status.js +14 -14
  77. package/dist/ejs-DirFZbza.js +716 -0
  78. package/dist/{export-DLQrUEBK.js → export-DFCZKNQk.js} +1 -1
  79. package/dist/{import-BoY5e0uJ.js → import-BpGyif-m.js} +1 -1
  80. package/dist/{index-CisLwc7e.js → index-BTXEUd8W.js} +59 -16
  81. package/dist/{index-pj8JVg5X.js → index-BwnzoldS.js} +37 -2
  82. package/dist/{index-B27WJDxn.js → index-CJWMt1s-.js} +1 -1
  83. package/dist/{index-DC0GJtAy.js → index-DlE_SPt3.js} +7 -11
  84. package/dist/{index-DfUg5j06.js → index-hoHfGrjg.js} +33 -33
  85. package/dist/{index-Crv7S0bl.js → index-izrACZbC.js} +1 -1
  86. package/dist/{upload-C8S17EU_.js → upload-D19OQsbn.js} +1 -1
  87. package/dist/{useAndroidServiceAccountTestResult-D4e5AKAZ.js → useAndroidServiceAccountTestResult-CwKeW0ED.js} +1 -1
  88. package/dist/{useAppleApp-Dr6URQvC.js → useAppleApp-BZc_cNa-.js} +1 -1
  89. package/dist/{useAppleBundleId-DELAwSQp.js → useAppleBundleId-DvMXAvWD.js} +1 -1
  90. package/dist/useGoogleStatus-Cx_QIsXa.js +10 -0
  91. package/dist/{useProjectCredentials-BjvdJdQg.js → useProjectCredentials-DxdwJCfU.js} +14 -11
  92. package/dist/{useWebSocket-CRV7V69Q.js → useWebSocket-cM5yOcDv.js} +1 -1
  93. package/docs/README.md +3 -2
  94. package/docs/apiKey/create.md +27 -0
  95. package/docs/apiKey/list.md +30 -0
  96. package/docs/apiKey/revoke.md +26 -0
  97. package/docs/apiKey.md +103 -0
  98. package/docs/game/android/apiKey/policy.md +28 -0
  99. package/docs/game/android/keyStore.md +14 -4
  100. package/docs/game/android/status.md +4 -0
  101. package/docs/game/android.md +9 -305
  102. package/docs/game/ship.md +43 -11
  103. package/docs/game.md +7 -1
  104. package/package.json +11 -3
  105. /package/assets/markdown/{create-or-import-keystore.md → create-or-import-keystore.md.ejs} +0 -0
package/docs/apiKey.md ADDED
@@ -0,0 +1,103 @@
1
+ # Topic: `apiKey`
2
+
3
+ ## Description
4
+
5
+ Commands in the **apiKey** topic are prefixed with `shipthis apiKey`. These commands let you create new keys, list existing ones, and revoke keys you no longer need.
6
+
7
+ :::info
8
+ ShipThis API keys are securely generated, random tokens used to authenticate requests to the ShipThis API. They are intended for automated environments, like CI pipelines, where manual login is not practical.
9
+ The raw key is only shown once when created, so make sure to copy and store it securely.
10
+ :::
11
+
12
+
13
+ ## Example
14
+
15
+ [![asciicast](https://asciinema.org/a/bfCPQIvDNt5zlgcEQhcs7o6Fr.svg)](https://asciinema.org/a/bfCPQIvDNt5zlgcEQhcs7o6Fr#shipthis-col80row24)
16
+
17
+ ## Commands
18
+
19
+ ### `apiKey create`
20
+
21
+ #### Description
22
+
23
+ Create a new API key for your ShipThis account.
24
+
25
+ #### Help Output
26
+
27
+ ```help
28
+ USAGE
29
+ $ shipthis apiKey create [-n <value>] [-d <value>] [-q]
30
+
31
+ FLAGS
32
+ -d, --durationDays=<value> [default: 365] duration of the API key in days
33
+ -n, --name=<value> name to apply to the API key (if not provided, a random name will be generated)
34
+ -q, --quiet Outputs just the secret value
35
+
36
+ DESCRIPTION
37
+ Create a new API key for your ShipThis account.
38
+
39
+ EXAMPLES
40
+ $ shipthis apiKey create --durationDays 30
41
+
42
+ $ shipthis apiKey create --name ci-key --durationDays 90
43
+
44
+ $ shipthis apiKey create --name ci-key-headless --durationDays 365 --quiet
45
+ ```
46
+
47
+ ### `apiKey list`
48
+
49
+ #### Description
50
+
51
+ Displays a list of your ShipThis API keys.
52
+
53
+ #### Help Output
54
+
55
+ ```help
56
+ USAGE
57
+ $ shipthis apiKey list [-r asc|desc] [-o createdAt|updatedAt|name] [-p <value>] [-s <value>]
58
+
59
+ FLAGS
60
+ -o, --orderBy=<option> [default: createdAt] The field to order by
61
+ <options: createdAt|updatedAt|name>
62
+ -p, --pageNumber=<value> The page number to show (starts at 0)
63
+ -r, --order=<option> [default: desc] The order to sort by
64
+ <options: asc|desc>
65
+ -s, --pageSize=<value> [default: 10] The number of items to show per page
66
+
67
+ DESCRIPTION
68
+ Displays a list of your ShipThis API keys.
69
+
70
+ EXAMPLES
71
+ $ shipthis apiKey list
72
+
73
+ $ shipthis apiKey list --pageNumber 1
74
+
75
+ $ shipthis apiKey list --orderBy createdAt --order asc
76
+ ```
77
+
78
+ ### `apiKey revoke`
79
+
80
+ #### Description
81
+
82
+ Revokes a specific ShipThis API key.
83
+
84
+ #### Help Output
85
+
86
+ ```help
87
+ USAGE
88
+ $ shipthis apiKey revoke APIKEYID [-q]
89
+
90
+ ARGUMENTS
91
+ APIKEYID The ID of the API key to revoke
92
+
93
+ FLAGS
94
+ -q, --quiet Suppress output except for errors
95
+
96
+ DESCRIPTION
97
+ Revokes a specific ShipThis API key.
98
+
99
+ EXAMPLES
100
+ $ shipthis apiKey revoke abcd1234
101
+
102
+ $ shipthis apiKey revoke abcd1234 --quiet
103
+ ```
@@ -0,0 +1,28 @@
1
+ # Command: `game android apiKey policy`
2
+
3
+ ## Description
4
+
5
+ Gets and sets the iam.disableServiceAccountKeyCreation policy for your Google Organization
6
+
7
+ ## Help Output
8
+
9
+ ```help
10
+ USAGE
11
+ $ shipthis game android apiKey policy [-g <value>] [-e | -r] [-w]
12
+
13
+ FLAGS
14
+ -e, --enforce Enforces the policy
15
+ -g, --gameId=<value> The ID of the game
16
+ -r, --revoke Revokes the policy
17
+ -w, --waitForAuth Wait for Google Authentication (10 mins).
18
+
19
+ DESCRIPTION
20
+ Gets and sets the iam.disableServiceAccountKeyCreation policy for your Google Organization
21
+
22
+ EXAMPLES
23
+ $ shipthis game android apiKey policy
24
+
25
+ $ shipthis game android apiKey policy --enforce
26
+
27
+ $ shipthis game android apiKey policy --revoke
28
+ ```
@@ -1,10 +1,20 @@
1
1
  # Topic: `game android keyStore`
2
2
 
3
+ ## Description
4
+
3
5
  Commands related to the Android KeyStore for a specific game
4
6
 
7
+ :::info
8
+ An Android **keystore** is a secure file where you keep the private key that signs your app. When you build and publish an APK or AAB, this key proves to Google Play (and your users) that the app really comes from you.
5
9
 
6
- ## Commands
10
+ If you have already published your game on Google Play, you will need to [import](#game-android-keystore-import) the same keystore you used before.
11
+ :::
12
+
13
+ ## Example
7
14
 
15
+ [![asciicast](https://asciinema.org/a/S3R73FuaGMCwu2C0dHSC0BrJB.svg)](https://asciinema.org/a/S3R73FuaGMCwu2C0dHSC0BrJB#shipthis-col80row24)
16
+
17
+ ## Commands
8
18
 
9
19
  ### `game android keyStore create`
10
20
 
@@ -61,14 +71,14 @@ EXAMPLES
61
71
 
62
72
  #### Description
63
73
 
64
- Imports an Android Keystore to your ShipThis account for the specified game.
74
+ Imports an Android Keystore to your ShipThis account for the specified game. You can import as JKS and password parameters or as a ZIP file.
65
75
 
66
76
  #### Help Output
67
77
 
68
78
  ```help
69
79
  USAGE
70
- $ shipthis game android keyStore import [FILE] [-g <value>] [--jksFile <value>] [--keystorePassword <value>] [--keyPassword
71
- <value>] [-f]
80
+ $ shipthis game android keyStore import [FILE] [-g <value>] [-f] [--jksFile <value>] [--keyPassword <value>] [--keystorePassword <value>]
81
+
72
82
 
73
83
  ARGUMENTS
74
84
  FILE Path to the ZIP file to import (must be in the same format as the export)
@@ -4,6 +4,10 @@
4
4
 
5
5
  Shows the status of the setup for the Android platform for a specific game.
6
6
 
7
+ ## Example
8
+
9
+ [![asciicast](https://asciinema.org/a/SiTSwpQgQtPIcd56v8hYA7zo8.svg)](https://asciinema.org/a/SiTSwpQgQtPIcd56v8hYA7zo8#shipthis-col80row24)
10
+
7
11
  ## Help Output
8
12
 
9
13
  ```help
@@ -1,316 +1,20 @@
1
1
  # Topic: `game android`
2
2
 
3
- Commands related to the Android platform for a specific game
3
+ Commands in the `game android` topic are prefixed `shipthis game android`. They relate to managing the Android platform configuration for a specific game (generally in the current directory).
4
4
 
5
- ## Topics
6
-
7
-
8
- # Topic: `game android apiKey`
9
-
10
- Commands related to they Android Service Account API Key for a specific game
11
-
12
-
13
- ## Commands
14
-
15
-
16
- ### `game android apiKey connect`
17
-
18
- #### Description
19
-
20
- Connects ShipThis with Google for managing Service Account API Keys for an Android game
21
-
22
- #### Help Output
23
-
24
- ```help
25
- USAGE
26
- $ shipthis game android apiKey connect [-g <value>] [-f] [-d]
27
-
28
- FLAGS
29
- -d, --disconnect
30
- -f, --force
31
- -g, --gameId=<value> The ID of the game
32
-
33
- DESCRIPTION
34
- Connects ShipThis with Google for managing Service Account API Keys for an Android game
35
-
36
- EXAMPLES
37
- $ shipthis game android apiKey connect
38
-
39
- $ shipthis game android apiKey connect --force
40
-
41
- $ shipthis game android apiKey connect --disconnect
42
- ```
43
-
44
- ### `game android apiKey create`
45
-
46
- #### Description
47
-
48
- Creates a new Android Service Account API Key for a game
49
-
50
- #### Help Output
51
-
52
- ```help
53
- USAGE
54
- $ shipthis game android apiKey create [-g <value>] [-w] [-f]
55
-
56
- FLAGS
57
- -f, --force
58
- -g, --gameId=<value> The ID of the game
59
- -w, --waitForAuth Wait for Google Authentication (10 mins).
60
-
61
- DESCRIPTION
62
- Creates a new Android Service Account API Key for a game
63
-
64
- EXAMPLES
65
- $ shipthis game android apiKey create
66
-
67
- $ shipthis game android apiKey create --gameId 0c179fc4
68
- ```
69
-
70
- ### `game android apiKey export`
71
-
72
- #### Description
73
-
74
- Saves the current Android Service Account API Key to a ZIP file
75
-
76
- #### Help Output
77
-
78
- ```help
79
- USAGE
80
- $ shipthis game android apiKey export FILE [-g <value>] [-f]
81
-
82
- ARGUMENTS
83
- FILE Name of the ZIP file to create
84
-
85
- FLAGS
86
- -f, --force Overwrite the file if it already exists
87
- -g, --gameId=<value> The ID of the game
88
-
89
- DESCRIPTION
90
- Saves the current Android Service Account API Key to a ZIP file
91
-
92
- EXAMPLES
93
- $ shipthis game android apiKey export keyStore.zip
94
- ```
95
-
96
- ### `game android apiKey import`
97
-
98
- #### Description
99
-
100
- Imports an Android Service Account API Key to your ShipThis account for the specified game.
101
-
102
- #### Help Output
103
-
104
- ```help
105
- USAGE
106
- $ shipthis game android apiKey import FILE [-g <value>] [-f]
107
-
108
- ARGUMENTS
109
- FILE Name of the ZIP file to import (must be in the same format as the export)
110
-
111
- FLAGS
112
- -f, --force
113
- -g, --gameId=<value> The ID of the game
114
-
115
- DESCRIPTION
116
- Imports an Android Service Account API Key to your ShipThis account for the specified game.
117
-
118
- EXAMPLES
119
- $ shipthis game android apiKey import
120
- ```
121
-
122
- ### `game android apiKey invite`
123
-
124
- #### Description
125
-
126
- Invites the Service Account to your Google Play Account.
127
-
128
- #### Help Output
129
-
130
- ```help
131
- USAGE
132
- $ shipthis game android apiKey invite [ACCOUNTID] [-g <value>] [-p] [-p] [-w]
133
-
134
- ARGUMENTS
135
- ACCOUNTID The Google Play Account ID
136
-
137
- FLAGS
138
- -g, --gameId=<value> The ID of the game
139
- -p, --prompt Prompt for the Google Play Account ID
140
- -p, --waitForGoogleApp Waits for the Google Play app to be created (10 mins).
141
- -w, --waitForAuth Wait for Google Authentication (10 mins).
142
-
143
- DESCRIPTION
144
- Invites the Service Account to your Google Play Account.
145
-
146
- EXAMPLES
147
- $ shipthis game android apiKey invite
148
- ```
149
-
150
- ### `game android apiKey status`
151
-
152
- #### Description
153
-
154
- Displays the status of the Android Service Account API Key for a specific game.
5
+ :::tip
6
+ You will need to be authenticated against ShipThis before you can use these commands. To do that please run the following command first:
155
7
 
156
- #### Help Output
8
+ - [`shipthis login`](/docs/reference/login)
157
9
 
158
- ```help
159
- USAGE
160
- $ shipthis game android apiKey status [-g <value>]
10
+ :::
161
11
 
162
- FLAGS
163
- -g, --gameId=<value> The ID of the game
164
12
 
165
- DESCRIPTION
166
- Displays the status of the Android Service Account API Key for a specific game.
167
-
168
- EXAMPLES
169
- $ shipthis game android apiKey status
170
-
171
- $ shipthis game android apiKey status --gameId 0c179fc4
172
- ```
173
-
174
-
175
- # Topic: `game android keyStore`
176
-
177
- Commands related to the Android KeyStore for a specific game
178
-
179
-
180
- ## Commands
181
-
182
-
183
- ### `game android keyStore create`
184
-
185
- #### Description
186
-
187
- Creates a new Android Keystore for a game
188
-
189
- #### Help Output
190
-
191
- ```help
192
- USAGE
193
- $ shipthis game android keyStore create [-g <value>] [-f]
194
-
195
- FLAGS
196
- -f, --force
197
- -g, --gameId=<value> The ID of the game
198
-
199
- DESCRIPTION
200
- Creates a new Android Keystore for a game
201
-
202
- EXAMPLES
203
- $ shipthis game android keyStore create
204
-
205
- $ shipthis game android keyStore create --gameId 0c179fc4
206
- ```
207
-
208
- ### `game android keyStore export`
209
-
210
- #### Description
211
-
212
- Saves the current Android Keystore to a ZIP file
213
-
214
- #### Help Output
215
-
216
- ```help
217
- USAGE
218
- $ shipthis game android keyStore export FILE [-g <value>] [-f]
219
-
220
- ARGUMENTS
221
- FILE Name of the ZIP file to create
222
-
223
- FLAGS
224
- -f, --force Overwrite the file if it already exists
225
- -g, --gameId=<value> The ID of the game
226
-
227
- DESCRIPTION
228
- Saves the current Android Keystore to a ZIP file
229
-
230
- EXAMPLES
231
- $ shipthis game android keyStore export keyStore.zip
232
- ```
233
-
234
- ### `game android keyStore import`
235
-
236
- #### Description
237
-
238
- Imports an Android Keystore to your ShipThis account for the specified game.
239
-
240
- #### Help Output
241
-
242
- ```help
243
- USAGE
244
- $ shipthis game android keyStore import [FILE] [-g <value>] [--jksFile <value>] [--keystorePassword <value>] [--keyPassword
245
- <value>] [-f]
246
-
247
- ARGUMENTS
248
- FILE Path to the ZIP file to import (must be in the same format as the export)
249
-
250
- FLAGS
251
- -f, --force Overwrite any existing keystore without confirmation
252
- -g, --gameId=<value> The ID of the game
253
- --jksFile=<value> Path to the JKS file to import (requires passwords)
254
- --keyPassword=<value> Key alias password (required when using --jksFile)
255
- --keystorePassword=<value> Keystore password (required when using --jksFile)
256
-
257
- DESCRIPTION
258
- Imports an Android Keystore to your ShipThis account for the specified game.
259
-
260
- EXAMPLES
261
- $ shipthis game android keyStore import path/to/import.zip -g abfd5b00
262
-
263
- $ shipthis game android keyStore import --jksFile path/to/file.jks --keystorePassword yourpass --keyPassword yourkeypass
264
- ```
265
-
266
- ### `game android keyStore status`
267
-
268
- #### Description
269
-
270
- Displays the status of the Android Keystore for a specific game.
271
-
272
- #### Help Output
273
-
274
- ```help
275
- USAGE
276
- $ shipthis game android keyStore status [-g <value>]
277
-
278
- FLAGS
279
- -g, --gameId=<value> The ID of the game
280
-
281
- DESCRIPTION
282
- Displays the status of the Android Keystore for a specific game.
283
-
284
- EXAMPLES
285
- $ shipthis game android keyStore status
286
-
287
- $ shipthis game android keyStore status --gameId 0c179fc4
288
- ```
13
+ ## Topics
289
14
 
15
+ - [game android apiKey](/docs/reference/game/android/apiKey)
16
+ - [game android keyStore](/docs/reference/game/android/keyStore)
290
17
 
291
18
  ## Commands
292
19
 
293
-
294
- ### `game android status`
295
-
296
- #### Description
297
-
298
- Shows the status of the setup for the Android platform for a specific game.
299
-
300
- #### Help Output
301
-
302
- ```help
303
- USAGE
304
- $ shipthis game android status [-g <value>]
305
-
306
- FLAGS
307
- -g, --gameId=<value> The ID of the game
308
-
309
- DESCRIPTION
310
- Shows the status of the setup for the Android platform for a specific game.
311
-
312
- EXAMPLES
313
- $ shipthis game android status
314
-
315
- $ shipthis game android status --gameId 0c179fc4
316
- ```
20
+ - [game android status](/docs/reference/game/android/status)
package/docs/game/ship.md CHANGED
@@ -2,35 +2,67 @@
2
2
 
3
3
  ## Description
4
4
 
5
- Builds the app (for all platforms with valid credentials) and ships it to the stores.
6
-
7
- After uploading the files to the ShipThis backend. it will run the [`shipthis game job status`](/docs/reference/game/job#game-job-status) command with the `--follow` flag so that you can watch the job output in **real-time**.
5
+ The `shipthis game ship` command starts the process of building and publishing your game.
8
6
 
9
7
  :::info
10
- This command creates a new job. A **job** is a set of work done to create a new
11
- build of your game.
8
+ This command creates one or more "jobs". A **job** is a set of work done to create a new build of your game on one platform.
12
9
 
13
- To do this, it uploads the code in the current directory to the ShipThis backend.
10
+ When this command is run, ShipThis uploads the code in the current directory to the ShipThis backend.
14
11
  To control which files are uploaded, in the **shipthis.json** file there are two [glob](https://en.wikipedia.org/wiki/Glob_(programming)) arrays **shippedFilesGlobs** and **ignoredFilesGlobs**.
15
12
  :::
16
13
 
14
+ ## Examples
15
+
16
+ ### Standard use
17
+
18
+ When run without any flags, the command will try to run the full build and publish pipelines for each of the platforms that you have configured.
19
+
20
+ When run like this, pressing **L** will show or hide the last few lines of the logs, pressing **B** will open the job log in your browser.
21
+
22
+ [![asciicast](https://asciinema.org/a/7e1jPMx5i69VyM6TynkeFU0dI.svg)](https://asciinema.org/a/7e1jPMx5i69VyM6TynkeFU0dI#shipthis-col80row24)
23
+
24
+
25
+ ### Follow mode
26
+
27
+ When using ShipThis in a CI environment, it is most useful to use the `--follow` to collect the full output. This flag requires you to specify the `--platform` flag too.
28
+
29
+ [![asciicast](https://asciinema.org/a/gKmZ0E1rJ4oiT9SyuSivXBZfY.svg)](https://asciinema.org/a/gKmZ0E1rJ4oiT9SyuSivXBZfY#shipthis-col80row24)
17
30
 
18
- ## Example
19
31
 
20
- [![asciicast](https://asciinema.org/a/97iHQ7Vv1qcz0I3jntMmECqLJ.svg)](https://asciinema.org/a/97iHQ7Vv1qcz0I3jntMmECqLJ#shipthis-col160row32)
32
+ ### Advanced usage - follow, do not publish, and then download APK
33
+
34
+ [![asciicast](https://asciinema.org/a/GNf0t8niOlrMDsgPKqmBcuqQh.svg)](https://asciinema.org/a/GNf0t8niOlrMDsgPKqmBcuqQh#shipthis-col80row24)
35
+
21
36
 
22
37
  ## Help Output
23
38
 
24
39
  ```help
40
+ Builds the app (for all platforms with valid credentials) and ships it to the stores.
41
+
25
42
  USAGE
26
- $ shipthis game ship [-g <value>]
43
+ $ shipthis game ship [-g <value>] [--download <value> --platform android|ios] [--downloadAPK <value> ] [--follow ] [--skipPublish]
27
44
 
28
45
  FLAGS
29
- -g, --gameId=<value> The ID of the game
46
+ -g, --gameId=<value> The ID of the game
47
+ --download=<value> Download the build artifact to the specified file
48
+ --downloadAPK=<value> Download the APK artifact (if available) to the specified file
49
+ --follow Follow the job logs in real-time. Requires --platform to be specified.
50
+ --platform=<option> The platform to ship the game to. This can be "android" or "ios"
51
+ <options: android|ios>
52
+ --skipPublish Skip the publish step
30
53
 
31
54
  DESCRIPTION
32
55
  Builds the app (for all platforms with valid credentials) and ships it to the stores.
33
56
 
34
57
  EXAMPLES
35
58
  $ shipthis game ship
36
- ```
59
+
60
+ $ shipthis game ship --platform ios
61
+
62
+ $ shipthis game ship --platform android --skipPublish
63
+
64
+ $ shipthis game ship --platform android --download game.aab
65
+
66
+ $ shipthis game ship --platform android --follow --downloadAPK game.apk
67
+
68
+ ```
package/docs/game.md CHANGED
@@ -3,7 +3,13 @@
3
3
  Commands in the game topic are prefixed `shipthis game`. They relate to configuring
4
4
  the specific game in the current working directory.
5
5
 
6
- You will need to be authenticated against ShipThis (by running [`shipthis login`](login)) before running the Game commands.
6
+ :::tip
7
+ You will need to be authenticated against ShipThis before you can use these commands. To do that please run the following command first:
8
+
9
+ - [`shipthis login`](/docs/reference/login)
10
+
11
+ :::
12
+
7
13
 
8
14
  ## Topics
9
15
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipthis",
3
3
  "description": "ShipThis manages building and uploading your Godot games to the App Store and Google Play.",
4
- "version": "0.1.33",
4
+ "version": "0.1.35",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"
@@ -116,6 +116,7 @@
116
116
  "./dist/commands/apple/certificate/import.js",
117
117
  "./dist/commands/apple/login.js",
118
118
  "./dist/commands/game/list.js",
119
+ "./dist/commands/game/ship.js",
119
120
  "./dist/commands/game/ios/app/create.js",
120
121
  "./dist/commands/game/ios/app/status.js",
121
122
  "./dist/commands/game/ios/app/sync.js",
@@ -127,8 +128,6 @@
127
128
  "./dist/commands/game/ios/profile/status.js",
128
129
  "./dist/commands/game/ios/profile/import.js",
129
130
  "./dist/commands/game/create.js",
130
- "./dist/commands/game/ship.js",
131
- "./dist/commands/game/wizard.js",
132
131
  "./dist/commands/game/job/list.js",
133
132
  "./dist/commands/game/job/status.js",
134
133
  "./dist/commands/game/status.js",
@@ -141,14 +140,19 @@
141
140
  "./dist/commands/game/android/keyStore/import.js",
142
141
  "./dist/commands/game/android/apiKey/export.js",
143
142
  "./dist/commands/game/android/apiKey/create.js",
143
+ "./dist/commands/game/android/apiKey/policy.js",
144
144
  "./dist/commands/game/android/apiKey/status.js",
145
145
  "./dist/commands/game/android/apiKey/import.js",
146
146
  "./dist/commands/game/android/apiKey/invite.js",
147
147
  "./dist/commands/game/android/apiKey/connect.js",
148
148
  "./dist/commands/game/android/status.js",
149
+ "./dist/commands/game/wizard.js",
149
150
  "./dist/commands/game/export.js",
150
151
  "./dist/commands/internal/readme.js",
151
152
  "./dist/commands/internal/fastlane.js",
153
+ "./dist/commands/apiKey/list.js",
154
+ "./dist/commands/apiKey/create.js",
155
+ "./dist/commands/apiKey/revoke.js",
152
156
  "./dist/commands/status.js",
153
157
  "./dist/commands/dashboard.js",
154
158
  "./dist/commands/login.js"
@@ -166,6 +170,9 @@
166
170
  "internal": {
167
171
  "description": "Internal commands"
168
172
  },
173
+ "apiKey": {
174
+ "description": "Commands related to ShipThis API Keys"
175
+ },
169
176
  "apple": {
170
177
  "description": "Commands related to Apple Developer Portal"
171
178
  },
@@ -210,6 +217,7 @@
210
217
  "build-tsc-alias": "shx rm -rf dist && npx tsc --build && npx tsc-alias -p tsconfig.json",
211
218
  "build": "pkgroll --clean-dist",
212
219
  "lint": "eslint . --ext .ts,.tsx",
220
+ "lint-fix": "eslint . --ext .ts,.tsx --fix",
213
221
  "posttest": "npm run lint",
214
222
  "prepack": "cp package-lock.json package-lock.dev.json || true && npm run readme && oclif manifest && npm shrinkwrap",
215
223
  "postpack": "mv package-lock.dev.json package-lock.json || true && shx rm -f oclif.manifest.json && shx rm -f npm-shrinkwrap.json",