brave-real-launcher 1.2.1 â 1.2.2
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/.github/workflows/main.yml +158 -80
- package/package.json +1 -1
|
@@ -72,8 +72,37 @@ jobs:
|
|
|
72
72
|
run: |
|
|
73
73
|
echo "đ Checking for chrome-launcher updates..."
|
|
74
74
|
|
|
75
|
-
# Chrome-launcher ā¤āĨ latest version fetch ā¤ā¤°āĨā¤
|
|
76
|
-
|
|
75
|
+
# Chrome-launcher ā¤āĨ latest version fetch ā¤ā¤°āĨ⤠with error handling
|
|
76
|
+
echo "đ Fetching chrome-launcher latest release..."
|
|
77
|
+
|
|
78
|
+
# Fetch chrome-launcher version with multiple methods
|
|
79
|
+
CHROME_VERSION=""
|
|
80
|
+
|
|
81
|
+
# Method 1: Try GitHub API
|
|
82
|
+
if command -v jq >/dev/null 2>&1; then
|
|
83
|
+
CHROME_API_RESPONSE=$(curl -s "https://api.github.com/repos/GoogleChrome/chrome-launcher/releases/latest")
|
|
84
|
+
if echo "$CHROME_API_RESPONSE" | jq -e '.tag_name' >/dev/null 2>&1; then
|
|
85
|
+
CHROME_VERSION=$(echo "$CHROME_API_RESPONSE" | jq -r .tag_name | sed 's/v//')
|
|
86
|
+
echo "â
Found chrome-launcher version via GitHub API: $CHROME_VERSION"
|
|
87
|
+
fi
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
# Method 2: Fallback to NPM registry
|
|
91
|
+
if [ -z "$CHROME_VERSION" ] || [ "$CHROME_VERSION" = "null" ]; then
|
|
92
|
+
echo "â ī¸ GitHub API failed, trying NPM registry..."
|
|
93
|
+
CHROME_VERSION=$(curl -s "https://registry.npmjs.org/chrome-launcher/latest" | jq -r .version 2>/dev/null || echo "")
|
|
94
|
+
if [ -n "$CHROME_VERSION" ] && [ "$CHROME_VERSION" != "null" ]; then
|
|
95
|
+
echo "â
Found chrome-launcher version via NPM: $CHROME_VERSION"
|
|
96
|
+
fi
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Method 3: Final fallback - use current version
|
|
100
|
+
if [ -z "$CHROME_VERSION" ] || [ "$CHROME_VERSION" = "null" ]; then
|
|
101
|
+
echo "â ī¸ All methods failed, using current version as fallback"
|
|
102
|
+
CHROME_VERSION=$(node -e "console.log(require('./package.json').version)")
|
|
103
|
+
echo "đĻ Fallback to current version: $CHROME_VERSION"
|
|
104
|
+
fi
|
|
105
|
+
|
|
77
106
|
CURRENT_VERSION=$(node -e "console.log(require('./package.json').version)")
|
|
78
107
|
|
|
79
108
|
echo "chrome_version=$CHROME_VERSION" >> $GITHUB_OUTPUT
|
|
@@ -102,10 +131,27 @@ jobs:
|
|
|
102
131
|
- name: đ Sync with Chrome-Launcher
|
|
103
132
|
if: steps.sync-check.outputs.should_sync == 'true'
|
|
104
133
|
run: |
|
|
105
|
-
echo "
|
|
134
|
+
echo "đĸ Syncing brave-real-launcher with chrome-launcher v${{ steps.sync-check.outputs.chrome_version }}"
|
|
135
|
+
|
|
136
|
+
# Validate chrome version before using it
|
|
137
|
+
CHROME_VER="${{ steps.sync-check.outputs.chrome_version }}"
|
|
138
|
+
if [ "$CHROME_VER" = "null" ] || [ -z "$CHROME_VER" ]; then
|
|
139
|
+
echo "â Invalid chrome version detected: $CHROME_VER"
|
|
140
|
+
echo "đ Skipping sync due to invalid version"
|
|
141
|
+
exit 0
|
|
142
|
+
fi
|
|
143
|
+
|
|
144
|
+
# Validate version format (should be x.y.z)
|
|
145
|
+
if ! echo "$CHROME_VER" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$'; then
|
|
146
|
+
echo "â Invalid version format: $CHROME_VER"
|
|
147
|
+
echo "đ Skipping sync due to invalid version format"
|
|
148
|
+
exit 0
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
echo "â
Valid chrome version: $CHROME_VER"
|
|
106
152
|
|
|
107
153
|
# Package.json version ā¤āĨ update ā¤ā¤°āĨā¤
|
|
108
|
-
npm version $
|
|
154
|
+
npm version "$CHROME_VER" --no-git-tag-version
|
|
109
155
|
|
|
110
156
|
# Git configuration
|
|
111
157
|
git config user.name "đ¤ Brave Sync Bot"
|
|
@@ -198,102 +244,135 @@ jobs:
|
|
|
198
244
|
npm audit --audit-level high || echo "â ī¸ Some security issues found but continuing..."
|
|
199
245
|
echo "â
Security audit completed!"
|
|
200
246
|
|
|
201
|
-
# Step 10:
|
|
202
|
-
- name:
|
|
203
|
-
id:
|
|
247
|
+
# Step 10: Smart Version Management & Publish Strategy
|
|
248
|
+
- name: đĸ Smart Version Management
|
|
249
|
+
id: version-manager
|
|
204
250
|
run: |
|
|
205
|
-
echo "
|
|
251
|
+
echo "đĸ Smart version management starting..."
|
|
206
252
|
|
|
253
|
+
# Get current status
|
|
207
254
|
PUBLISH_MODE="${{ github.event.inputs.publish_mode || 'auto' }}"
|
|
208
|
-
|
|
209
|
-
|
|
255
|
+
SYNC_PERFORMED="${{ steps.sync-check.outputs.should_sync }}"
|
|
256
|
+
CHROME_VERSION="${{ steps.sync-check.outputs.chrome_version }}"
|
|
210
257
|
|
|
211
|
-
# Current
|
|
258
|
+
# Current version from package.json
|
|
212
259
|
CURRENT_VERSION=$(node -e "console.log(require('./package.json').version)")
|
|
260
|
+
|
|
261
|
+
# NPM published version
|
|
262
|
+
echo "đ Checking NPM registry..."
|
|
213
263
|
NPM_VERSION=$(npm view brave-real-launcher version 2>/dev/null || echo "0.0.0")
|
|
214
264
|
|
|
215
|
-
echo "
|
|
265
|
+
echo "=== Version Status ==="
|
|
266
|
+
echo "Local version: $CURRENT_VERSION"
|
|
216
267
|
echo "NPM version: $NPM_VERSION"
|
|
268
|
+
echo "Chrome-launcher version: $CHROME_VERSION"
|
|
269
|
+
echo "Sync performed: $SYNC_PERFORMED"
|
|
270
|
+
echo "Publish mode: $PUBLISH_MODE"
|
|
271
|
+
|
|
272
|
+
# Smart version determination
|
|
273
|
+
NEW_VERSION=""
|
|
274
|
+
SHOULD_PUBLISH="false"
|
|
275
|
+
REASON=""
|
|
217
276
|
|
|
218
|
-
# Publish logic
|
|
219
277
|
if [ "$PUBLISH_MODE" = "skip" ]; then
|
|
278
|
+
SHOULD_PUBLISH="false"
|
|
220
279
|
REASON="Publish mode set to skip"
|
|
221
|
-
|
|
280
|
+
NEW_VERSION="$CURRENT_VERSION"
|
|
281
|
+
|
|
282
|
+
elif [ "$SYNC_PERFORMED" = "true" ]; then
|
|
283
|
+
# Chrome-launcher sync ā¤šāĨā¤ ā¤šāĨ - use chrome version
|
|
284
|
+
NEW_VERSION="$CHROME_VERSION"
|
|
222
285
|
SHOULD_PUBLISH="true"
|
|
223
|
-
REASON="
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
286
|
+
REASON="Synced with chrome-launcher v$CHROME_VERSION"
|
|
287
|
+
|
|
288
|
+
# Update package.json with chrome version
|
|
289
|
+
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
|
|
290
|
+
echo "đ Updating package.json to chrome-launcher version: $NEW_VERSION"
|
|
291
|
+
npm version "$NEW_VERSION" --no-git-tag-version
|
|
292
|
+
fi
|
|
293
|
+
|
|
294
|
+
else
|
|
295
|
+
# Regular update - ⤏ā¤ŋ⤰āĨā¤Ģ main/master branch ā¤Ē⤰ publish ā¤ā¤°āĨā¤
|
|
296
|
+
if [[ "${{ github.ref }}" == "refs/heads/main" || "${{ github.ref }}" == "refs/heads/master" ]]; then
|
|
297
|
+
|
|
298
|
+
if [ "$NPM_VERSION" = "0.0.0" ]; then
|
|
299
|
+
# First publish
|
|
300
|
+
NEW_VERSION="$CURRENT_VERSION"
|
|
228
301
|
SHOULD_PUBLISH="true"
|
|
229
|
-
REASON="
|
|
302
|
+
REASON="First publish"
|
|
230
303
|
else
|
|
231
|
-
|
|
304
|
+
# Auto-increment ā¤ā¤°āĨ⤠ā¤
ā¤ā¤° NPM version >= current version
|
|
305
|
+
if [ "$(printf '%s\n' "$NPM_VERSION" "$CURRENT_VERSION" | sort -V | tail -n1)" = "$NPM_VERSION" ]; then
|
|
306
|
+
# NPM version is same or newer, increment
|
|
307
|
+
echo "đĸ Auto-incrementing patch version..."
|
|
308
|
+
|
|
309
|
+
# Parse NPM version and increment
|
|
310
|
+
IFS='.' read -r major minor patch <<< "$NPM_VERSION"
|
|
311
|
+
NEW_PATCH=$((patch + 1))
|
|
312
|
+
NEW_VERSION="${major}.${minor}.${NEW_PATCH}"
|
|
313
|
+
|
|
314
|
+
echo "đ Version increment: $NPM_VERSION â $NEW_VERSION"
|
|
315
|
+
|
|
316
|
+
# Update package.json
|
|
317
|
+
npm version "$NEW_VERSION" --no-git-tag-version
|
|
318
|
+
|
|
319
|
+
SHOULD_PUBLISH="true"
|
|
320
|
+
REASON="Auto-incremented from $NPM_VERSION to $NEW_VERSION"
|
|
321
|
+
else
|
|
322
|
+
# Current version is newer
|
|
323
|
+
NEW_VERSION="$CURRENT_VERSION"
|
|
324
|
+
SHOULD_PUBLISH="true"
|
|
325
|
+
REASON="Local version newer than NPM: $CURRENT_VERSION > $NPM_VERSION"
|
|
326
|
+
fi
|
|
232
327
|
fi
|
|
328
|
+
|
|
233
329
|
else
|
|
234
|
-
|
|
330
|
+
# Not on main branch
|
|
331
|
+
NEW_VERSION="$CURRENT_VERSION"
|
|
332
|
+
SHOULD_PUBLISH="false"
|
|
333
|
+
REASON="Not on main/master branch"
|
|
235
334
|
fi
|
|
236
335
|
fi
|
|
237
336
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
echo "đĸ Processing smart version increment..."
|
|
251
|
-
|
|
252
|
-
CURRENT_VERSION="${{ steps.publish-check.outputs.current_version }}"
|
|
253
|
-
NPM_VERSION="${{ steps.publish-check.outputs.npm_version }}"
|
|
254
|
-
SYNC_PERFORMED="${{ steps.sync-check.outputs.should_sync }}"
|
|
255
|
-
|
|
256
|
-
echo "Current version: $CURRENT_VERSION"
|
|
257
|
-
echo "NPM version: $NPM_VERSION"
|
|
258
|
-
echo "Sync performed: $SYNC_PERFORMED"
|
|
337
|
+
# Force publish override
|
|
338
|
+
if [ "$PUBLISH_MODE" = "force" ]; then
|
|
339
|
+
if [ -z "$NEW_VERSION" ] || [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then
|
|
340
|
+
# Force ā¤āĨ ⤞ā¤ŋ⤠increment ā¤ā¤°āĨā¤
|
|
341
|
+
IFS='.' read -r major minor patch <<< "$([ "$NPM_VERSION" != "0.0.0" ] && echo "$NPM_VERSION" || echo "$CURRENT_VERSION")"
|
|
342
|
+
NEW_PATCH=$((patch + 1))
|
|
343
|
+
NEW_VERSION="${major}.${minor}.${NEW_PATCH}"
|
|
344
|
+
npm version "$NEW_VERSION" --no-git-tag-version
|
|
345
|
+
fi
|
|
346
|
+
SHOULD_PUBLISH="true"
|
|
347
|
+
REASON="Force publish requested - v$NEW_VERSION"
|
|
348
|
+
fi
|
|
259
349
|
|
|
260
|
-
#
|
|
261
|
-
if [ "$
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
echo "â
Version already synced with chrome-launcher: $NEW_VERSION"
|
|
265
|
-
else
|
|
266
|
-
# Auto-increment patch version for regular updates
|
|
267
|
-
echo "đĸ Auto-incrementing patch version..."
|
|
268
|
-
|
|
269
|
-
# Parse version components
|
|
270
|
-
IFS='.' read -r major minor patch <<< "$CURRENT_VERSION"
|
|
271
|
-
NEW_PATCH=$((patch + 1))
|
|
272
|
-
NEW_VERSION="${major}.${minor}.${NEW_PATCH}"
|
|
273
|
-
|
|
274
|
-
echo "đ Version increment: $CURRENT_VERSION â $NEW_VERSION"
|
|
275
|
-
|
|
276
|
-
# Update package.json
|
|
277
|
-
npm version $NEW_VERSION --no-git-tag-version
|
|
278
|
-
|
|
279
|
-
# Commit version change
|
|
280
|
-
git config user.name "đ¤ Brave Version Bot"
|
|
350
|
+
# Commit version changes if made
|
|
351
|
+
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
|
|
352
|
+
echo "đ Committing version change..."
|
|
353
|
+
git config user.name "đ¤ Brave Version Manager"
|
|
281
354
|
git config user.email "action@github.com"
|
|
282
355
|
git add package.json package-lock.json
|
|
283
|
-
git commit -m "đĸ
|
|
356
|
+
git commit -m "đĸ Version update: $CURRENT_VERSION â $NEW_VERSION" || echo "No changes to commit"
|
|
284
357
|
git push || echo "Nothing to push"
|
|
285
|
-
|
|
286
|
-
echo "â
Version incremented and committed: $NEW_VERSION"
|
|
287
358
|
fi
|
|
288
359
|
|
|
289
|
-
|
|
290
|
-
echo "
|
|
360
|
+
# Output results
|
|
361
|
+
echo "should_publish=$SHOULD_PUBLISH" >> $GITHUB_OUTPUT
|
|
362
|
+
echo "reason=$REASON" >> $GITHUB_OUTPUT
|
|
363
|
+
echo "final_version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
364
|
+
echo "version_changed=$([ "$NEW_VERSION" != "$CURRENT_VERSION" ] && echo "true" || echo "false")" >> $GITHUB_OUTPUT
|
|
365
|
+
|
|
366
|
+
echo "=== Final Decision ==="
|
|
367
|
+
echo "đ Should publish: $SHOULD_PUBLISH"
|
|
368
|
+
echo "đ Final version: $NEW_VERSION"
|
|
369
|
+
echo "đ Reason: $REASON"
|
|
291
370
|
|
|
292
371
|
# Step 11: Publish to NPM
|
|
293
372
|
- name: đ Publish to NPM
|
|
294
|
-
if: steps.
|
|
373
|
+
if: steps.version-manager.outputs.should_publish == 'true'
|
|
295
374
|
run: |
|
|
296
|
-
FINAL_VERSION="${{ steps.version-
|
|
375
|
+
FINAL_VERSION="${{ steps.version-manager.outputs.final_version }}"
|
|
297
376
|
echo "đ Publishing brave-real-launcher v$FINAL_VERSION to NPM..."
|
|
298
377
|
|
|
299
378
|
# Verify we have NPM token
|
|
@@ -328,21 +407,20 @@ jobs:
|
|
|
328
407
|
echo "=================================="
|
|
329
408
|
echo "đ Execution Summary:"
|
|
330
409
|
echo "âĸ Chrome-launcher version: ${{ steps.sync-check.outputs.chrome_version }}"
|
|
331
|
-
echo "âĸ
|
|
332
|
-
echo "âĸ
|
|
333
|
-
echo "âĸ Version incremented: ${{ steps.version-increment.outputs.version_incremented || 'false' }}"
|
|
410
|
+
echo "âĸ Final version: ${{ steps.version-manager.outputs.final_version }}"
|
|
411
|
+
echo "âĸ Version changed: ${{ steps.version-manager.outputs.version_changed }}"
|
|
334
412
|
echo "âĸ Sync performed: ${{ steps.sync-check.outputs.should_sync }}"
|
|
335
413
|
echo "âĸ Sync mode: ${{ steps.sync-check.outputs.sync_mode }}"
|
|
336
|
-
echo "âĸ Publish performed: ${{ steps.
|
|
337
|
-
echo "âĸ Publish reason: ${{ steps.
|
|
414
|
+
echo "âĸ Publish performed: ${{ steps.version-manager.outputs.should_publish }}"
|
|
415
|
+
echo "âĸ Publish reason: ${{ steps.version-manager.outputs.reason }}"
|
|
338
416
|
echo "âĸ Build: â
Success"
|
|
339
417
|
echo "âĸ Tests: â
Passed"
|
|
340
418
|
echo "âĸ Security: â
Checked"
|
|
341
419
|
echo "=================================="
|
|
342
420
|
|
|
343
421
|
# Set workflow status
|
|
344
|
-
if [ "${{ steps.
|
|
345
|
-
echo "đ Package published successfully!"
|
|
422
|
+
if [ "${{ steps.version-manager.outputs.should_publish }}" = "true" ]; then
|
|
423
|
+
echo "đ Package published successfully as v${{ steps.version-manager.outputs.final_version }}!"
|
|
346
424
|
else
|
|
347
|
-
echo "đĻ Package ready but not published (${{ steps.
|
|
348
|
-
fi
|
|
425
|
+
echo "đĻ Package ready but not published (${{ steps.version-manager.outputs.reason }})"
|
|
426
|
+
fi
|
package/package.json
CHANGED