@ludeo/cli 1.4.11 → 1.4.13
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.
- package/README.md +89 -2
- package/dist/ludeo-darwin-amd64 +0 -0
- package/dist/ludeo-darwin-arm64 +0 -0
- package/dist/ludeo-linux-amd64 +0 -0
- package/dist/ludeo-linux-arm64 +0 -0
- package/dist/ludeo-windows-amd64.exe +0 -0
- package/dist/ludeo-windows-arm64.exe +0 -0
- package/package.json +1 -1
- package/scripts/pre-commit +26 -0
package/README.md
CHANGED
|
@@ -114,6 +114,8 @@ ludeo builds upload \
|
|
|
114
114
|
- `--request-id`: Optional request ID for tracking
|
|
115
115
|
- `--no-interactive`: Disable interactive prompts (for CI/CD or scripts)
|
|
116
116
|
- `--dry-run`: Preview the upload without making any changes
|
|
117
|
+
- `--poll`: After upload completes, poll build status until it leaves pending state
|
|
118
|
+
- `--interval N`: Polling interval in seconds when using `--poll` (default: 10)
|
|
117
119
|
|
|
118
120
|
#### Dry-Run Mode
|
|
119
121
|
Preview what would be uploaded without making any changes:
|
|
@@ -133,7 +135,39 @@ Dry-run will:
|
|
|
133
135
|
- Show total file count and size
|
|
134
136
|
- NOT create any build metadata or upload files
|
|
135
137
|
|
|
136
|
-
### 4.
|
|
138
|
+
### 4. Check Build Status
|
|
139
|
+
|
|
140
|
+
After uploading you can check whether the platform has finished processing a build:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Single check — prints current status and exits
|
|
144
|
+
ludeo builds status --game-id YOUR_GAME_ID --build-id BUILD_ID
|
|
145
|
+
|
|
146
|
+
# Poll until the build leaves the pending state (useful in CI/CD)
|
|
147
|
+
ludeo builds status --game-id YOUR_GAME_ID --build-id BUILD_ID --poll
|
|
148
|
+
|
|
149
|
+
# Poll with a custom interval (default is 10 s)
|
|
150
|
+
ludeo builds status --game-id YOUR_GAME_ID --build-id BUILD_ID --poll --interval 5
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
`--poll` continues while the status is `pending` and exits as soon as it changes:
|
|
154
|
+
- Exit 0 — status is `ready`, `success`, or `complete`
|
|
155
|
+
- Exit 1 — any other status (e.g. `failed`)
|
|
156
|
+
|
|
157
|
+
You can also trigger polling automatically right after an upload:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
ludeo builds upload \
|
|
161
|
+
--game-id YOUR_GAME_ID \
|
|
162
|
+
--exec-path game.exe \
|
|
163
|
+
--local-directory ./builds \
|
|
164
|
+
--build-type major \
|
|
165
|
+
--game-version "1.2.3" \
|
|
166
|
+
--sdk-version "2.0.0" \
|
|
167
|
+
--poll
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 5. Manage Builds
|
|
137
171
|
```bash
|
|
138
172
|
# List your builds
|
|
139
173
|
ludeo builds list --game-id YOUR_GAME_ID
|
|
@@ -148,10 +182,40 @@ ludeo auth status
|
|
|
148
182
|
ludeo auth logout
|
|
149
183
|
```
|
|
150
184
|
|
|
185
|
+
## Project Config (`ludeo.json`)
|
|
186
|
+
|
|
187
|
+
To avoid repeating the same flags on every command, you can store per-project defaults in a `ludeo.json` file in your project directory (or any ancestor directory up to `$HOME`).
|
|
188
|
+
|
|
189
|
+
Scaffold a template:
|
|
190
|
+
```bash
|
|
191
|
+
ludeo config init
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
This creates a `ludeo.json` with all supported fields. Fill in the values you want to persist:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"game_id": "YOUR_GAME_ID",
|
|
199
|
+
"exec_path": "game.exe",
|
|
200
|
+
"local_directory": "./builds",
|
|
201
|
+
"build_type": "major",
|
|
202
|
+
"sdk_version": "2.0.0"
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Once the file is in place, you can upload with just:
|
|
207
|
+
```bash
|
|
208
|
+
ludeo builds upload --game-version "1.2.3"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Flag values always override the project config, which overrides global defaults. Use `--project-config <path>` to point to a config file in a non-standard location.
|
|
212
|
+
|
|
151
213
|
## Features
|
|
152
214
|
|
|
153
215
|
- **Interactive Mode**: Guided wizard for easy build uploads - just run `ludeo builds upload` and follow the prompts
|
|
154
216
|
- **Easy Upload**: Upload complete game builds with a single command
|
|
217
|
+
- **Build Status Polling**: Check and poll build processing status with `builds status --poll`; also available directly on `builds upload --poll`
|
|
218
|
+
- **Project Config**: Store per-project defaults in `ludeo.json` via `ludeo config init` — no more repeating the same flags
|
|
155
219
|
- **Large File Support**: Automatically handles large files and multiple files
|
|
156
220
|
- **Progress Tracking**: Real-time progress updates during uploads
|
|
157
221
|
- **Dry-Run Mode**: Preview uploads without making changes using `--dry-run`
|
|
@@ -173,7 +237,7 @@ npm update -g @ludeo/cli
|
|
|
173
237
|
- name: Install Ludeo CLI
|
|
174
238
|
run: npm install -g @ludeo/cli
|
|
175
239
|
|
|
176
|
-
- name: Upload Build
|
|
240
|
+
- name: Upload Build and Wait for Processing
|
|
177
241
|
run: |
|
|
178
242
|
ludeo auth set-token --access-token ${{ secrets.LUDEO_ACCESS_TOKEN }}
|
|
179
243
|
ludeo builds upload \
|
|
@@ -183,7 +247,30 @@ npm update -g @ludeo/cli
|
|
|
183
247
|
--build-creation-type new \
|
|
184
248
|
--build-type major \
|
|
185
249
|
--game-version ${{ env.GAME_VERSION }} \
|
|
250
|
+
--sdk-version ${{ env.SDK_VERSION }} \
|
|
251
|
+
--poll
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
If you prefer to separate the upload and status-check steps:
|
|
255
|
+
```yaml
|
|
256
|
+
- name: Upload Build
|
|
257
|
+
id: upload
|
|
258
|
+
run: |
|
|
259
|
+
ludeo auth set-token --access-token ${{ secrets.LUDEO_ACCESS_TOKEN }}
|
|
260
|
+
ludeo builds upload \
|
|
261
|
+
--game-id ${{ env.GAME_ID }} \
|
|
262
|
+
--exec-path game.exe \
|
|
263
|
+
--local-directory ./builds \
|
|
264
|
+
--build-type major \
|
|
265
|
+
--game-version ${{ env.GAME_VERSION }} \
|
|
186
266
|
--sdk-version ${{ env.SDK_VERSION }}
|
|
267
|
+
|
|
268
|
+
- name: Wait for Build to Be Ready
|
|
269
|
+
run: |
|
|
270
|
+
ludeo builds status \
|
|
271
|
+
--game-id ${{ env.GAME_ID }} \
|
|
272
|
+
--build-id ${{ env.BUILD_ID }} \
|
|
273
|
+
--poll --interval 15
|
|
187
274
|
```
|
|
188
275
|
|
|
189
276
|
## Troubleshooting
|
package/dist/ludeo-darwin-amd64
CHANGED
|
Binary file
|
package/dist/ludeo-darwin-arm64
CHANGED
|
Binary file
|
package/dist/ludeo-linux-amd64
CHANGED
|
Binary file
|
package/dist/ludeo-linux-arm64
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Pre-commit hook: ensures README.md and windows-releases/template/README.md
|
|
3
|
+
# are always generated from docs/README.template.md and never edited directly.
|
|
4
|
+
#
|
|
5
|
+
# Install: make install-hooks
|
|
6
|
+
|
|
7
|
+
README_FILES="README.md windows-releases/template/README.md"
|
|
8
|
+
|
|
9
|
+
# Only run if the template or any generated README is being committed
|
|
10
|
+
TEMPLATE_STAGED=$(git diff --cached --name-only | grep -q "docs/README.template.md" && echo "yes" || echo "no")
|
|
11
|
+
READMES_STAGED=$(git diff --cached --name-only | grep -E "^README\.md$|^windows-releases/template/README\.md$" && echo "yes" || echo "no")
|
|
12
|
+
|
|
13
|
+
if [ "$READMES_STAGED" = "yes" ] && [ "$TEMPLATE_STAGED" = "no" ]; then
|
|
14
|
+
echo "❌ README files cannot be edited directly."
|
|
15
|
+
echo " Edit docs/README.template.md and run 'make readme' to regenerate."
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
if [ "$TEMPLATE_STAGED" = "yes" ]; then
|
|
20
|
+
# Template is being committed — regenerate and auto-stage the outputs
|
|
21
|
+
node scripts/build-readme.js
|
|
22
|
+
git add $README_FILES
|
|
23
|
+
echo "✅ README files regenerated from template and staged"
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
exit 0
|