Skip to content

Commit 0bc7092

Browse files
committed
Update blockmaps
1 parent 1619f91 commit 0bc7092

6 files changed

Lines changed: 59 additions & 25 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ jobs:
3838
id: package-version
3939
run: |
4040
$version = (Get-Content package.json | ConvertFrom-Json).version
41-
$shortHash = git rev-parse --short HEAD
4241
$branch = "${{ github.ref_name }}"
42+
$buildNumber = "${{ github.run_number }}"
4343
4444
if ($branch -eq "develop") {
45-
$finalVersion = "v$version-dev-$shortHash"
45+
$finalVersion = "v$version-dev.$buildNumber"
4646
echo "version=$finalVersion" >> $env:GITHUB_OUTPUT
4747
echo "prerelease=true" >> $env:GITHUB_OUTPUT
4848
} else {
@@ -57,6 +57,7 @@ jobs:
5757
name: windows-artifacts
5858
path: |
5959
dist/DevNullifier-Setup.exe
60+
dist/DevNullifier-Setup.exe.blockmap
6061
dist/DevNullifier-win-unpacked.zip
6162
dist/latest.yml
6263
@@ -90,15 +91,18 @@ jobs:
9091
run: |
9192
APPIMAGE=$(find dist -name "*.AppImage" -type f | head -1)
9293
DEB=$(find dist -name "*.deb" -type f | head -1)
94+
BLOCKMAP=$(find dist -name "*.AppImage.blockmap" -type f | head -1)
9395
echo "appimage_path=$APPIMAGE" >> $GITHUB_OUTPUT
9496
echo "deb_path=$DEB" >> $GITHUB_OUTPUT
97+
echo "blockmap_path=$BLOCKMAP" >> $GITHUB_OUTPUT
9598
9699
- name: Upload Linux artifacts
97100
uses: actions/upload-artifact@v4
98101
with:
99102
name: linux-artifacts
100103
path: |
101104
${{ steps.find-installer.outputs.appimage_path }}
105+
${{ steps.find-installer.outputs.blockmap_path }}
102106
${{ steps.find-installer.outputs.deb_path }}
103107
dist/DevNullifier-linux-unpacked.zip
104108
dist/latest-linux.yml
@@ -234,6 +238,16 @@ jobs:
234238
asset_name: DevNullifier-Setup.exe
235239
asset_content_type: application/octet-stream
236240

241+
- name: Upload Windows Installer Blockmap
242+
uses: actions/upload-release-asset@v1
243+
env:
244+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
245+
with:
246+
upload_url: ${{ steps.create_release.outputs.upload_url }}
247+
asset_path: artifacts/windows/DevNullifier-Setup.exe.blockmap
248+
asset_name: DevNullifier-Setup.exe.blockmap
249+
asset_content_type: application/octet-stream
250+
237251
- name: Upload latest.yml
238252
uses: actions/upload-release-asset@v1
239253
env:
@@ -256,30 +270,42 @@ jobs:
256270

257271
# Linux assets
258272
- name: Find Linux files
259-
id: find-linux-files
273+
id: find-installer
260274
run: |
261-
APPIMAGE=$(find artifacts/linux -name "*.AppImage" -type f | head -1)
262-
DEB=$(find artifacts/linux -name "*.deb" -type f | head -1)
275+
APPIMAGE=$(find dist -name "*.AppImage" -type f | head -1)
276+
DEB=$(find dist -name "*.deb" -type f | head -1)
277+
BLOCKMAP=$(find dist -name "*.AppImage.blockmap" -type f | head -1)
263278
echo "appimage_path=$APPIMAGE" >> $GITHUB_OUTPUT
264279
echo "deb_path=$DEB" >> $GITHUB_OUTPUT
280+
echo "blockmap_path=$BLOCKMAP" >> $GITHUB_OUTPUT
265281
266282
- name: Upload Linux AppImage
267283
uses: actions/upload-release-asset@v1
268284
env:
269285
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
270286
with:
271287
upload_url: ${{ steps.create_release.outputs.upload_url }}
272-
asset_path: ${{ steps.find-linux-files.outputs.appimage_path }}
288+
asset_path: ${{ steps.find-installer.outputs.appimage_path }}
273289
asset_name: ${{ github.ref_name == 'develop' && 'DevNullifier-linux-x64-dev.AppImage' || 'DevNullifier-linux-x64.AppImage' }}
274290
asset_content_type: application/octet-stream
275291

292+
- name: Upload Linux AppImage Blockmap
293+
uses: actions/upload-release-asset@v1
294+
env:
295+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
296+
with:
297+
upload_url: ${{ steps.create_release.outputs.upload_url }}
298+
asset_path: ${{ steps.find-installer.outputs.blockmap_path }}
299+
asset_name: ${{ github.ref_name == 'develop' && 'DevNullifier-linux-x64-dev.AppImage.blockmap' || 'DevNullifier-linux-x64.AppImage.blockmap' }}
300+
asset_content_type: application/octet-stream
301+
276302
- name: Upload Linux DEB
277303
uses: actions/upload-release-asset@v1
278304
env:
279305
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
280306
with:
281307
upload_url: ${{ steps.create_release.outputs.upload_url }}
282-
asset_path: ${{ steps.find-linux-files.outputs.deb_path }}
308+
asset_path: ${{ steps.find-installer.outputs.deb_path }}
283309
asset_name: ${{ github.ref_name == 'develop' && 'DevNullifier-linux-x64-dev.deb' || 'DevNullifier-linux-x64.deb' }}
284310
asset_content_type: application/octet-stream
285311

@@ -308,7 +334,9 @@ jobs:
308334
id: find-macos-files
309335
run: |
310336
DMG=$(find artifacts/macos -name "*.dmg" -type f | head -1)
337+
BLOCKMAP=$(find artifacts/macos -name "*.dmg.blockmap" -type f | head -1)
311338
echo "dmg_path=$DMG" >> $GITHUB_OUTPUT
339+
echo "blockmap_path=$BLOCKMAP" >> $GITHUB_OUTPUT
312340
313341
- name: Upload macOS DMG
314342
uses: actions/upload-release-asset@v1
@@ -320,6 +348,16 @@ jobs:
320348
asset_name: ${{ github.ref_name == 'develop' && 'DevNullifier-mac-x64-dev.dmg' || 'DevNullifier-mac-x64.dmg' }}
321349
asset_content_type: application/octet-stream
322350

351+
- name: Upload macOS DMG Blockmap
352+
uses: actions/upload-release-asset@v1
353+
env:
354+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
355+
with:
356+
upload_url: ${{ steps.create_release.outputs.upload_url }}
357+
asset_path: ${{ steps.find-macos-files.outputs.blockmap_path }}
358+
asset_name: ${{ github.ref_name == 'develop' && 'DevNullifier-mac-x64-dev.dmg.blockmap' || 'DevNullifier-mac-x64.dmg.blockmap' }}
359+
asset_content_type: application/octet-stream
360+
323361
- name: Upload macOS ZIP Archive
324362
uses: actions/upload-release-asset@v1
325363
env:
@@ -359,19 +397,24 @@ jobs:
359397
360398
# Upload Windows assets
361399
upload_asset "artifacts/windows/DevNullifier-Setup.exe" "DevNullifier-Setup.exe" "application/octet-stream"
400+
upload_asset "artifacts/windows/DevNullifier-Setup.exe.blockmap" "DevNullifier-Setup.exe.blockmap" "application/octet-stream"
362401
upload_asset "artifacts/windows/latest.yml" "latest.yml" "text/yaml"
363402
upload_asset "artifacts/windows/DevNullifier-win-unpacked.zip" "DevNullifier-win-unpacked.zip" "application/zip"
364403
365404
# Upload Linux assets
366405
APPIMAGE=$(find artifacts/linux -name "*.AppImage" -type f | head -1)
406+
BLOCKMAP=$(find artifacts/linux -name "*.AppImage.blockmap" -type f | head -1)
367407
DEB=$(find artifacts/linux -name "*.deb" -type f | head -1)
368408
upload_asset "$APPIMAGE" "DevNullifier-linux-x64.AppImage" "application/octet-stream"
409+
upload_asset "$BLOCKMAP" "DevNullifier-linux-x64.AppImage.blockmap" "application/octet-stream"
369410
upload_asset "$DEB" "DevNullifier-linux-x64.deb" "application/octet-stream"
370411
upload_asset "artifacts/linux/DevNullifier-linux-unpacked.zip" "DevNullifier-linux-unpacked.zip" "application/zip"
371412
upload_asset "artifacts/linux/latest-linux.yml" "latest-linux.yml" "text/yaml"
372413
373414
# Upload macOS assets
374415
DMG=$(find artifacts/macos -name "*.dmg" -type f | head -1)
416+
BLOCKMAP=$(find artifacts/macos -name "*.dmg.blockmap" -type f | head -1)
375417
upload_asset "$DMG" "DevNullifier-mac-x64.dmg" "application/octet-stream"
418+
upload_asset "$BLOCKMAP" "DevNullifier-mac-x64.dmg.blockmap" "application/octet-stream"
376419
upload_asset "artifacts/macos/DevNullifier-mac-unpacked.zip" "DevNullifier-mac-unpacked.zip" "application/zip"
377420
upload_asset "artifacts/macos/latest-mac.yml" "latest-mac.yml" "text/yaml"

src/main/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function createWindow() {
4141
// Initialize update service
4242
updateService = new UpdateService(mainWindow);
4343
if (!isDev) {
44-
//updateService.checkForUpdates(); TODO: Uncomment this when ready to release
44+
updateService.checkForUpdates();
4545
}
4646
}
4747

src/main/preload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ const api: ElectronAPI = {
119119
quitAndInstall: () => ipcRenderer.invoke("quit-and-install"),
120120

121121
// New handler
122-
setUpdateChannel: (channel: 'latest' | 'latest-develop') => ipcRenderer.invoke('set-update-channel', channel),
122+
setUpdateChannel: (channel: 'latest' | 'latest-dev') => ipcRenderer.invoke('set-update-channel', channel),
123123
};
124124

125125
contextBridge.exposeInMainWorld("electronAPI", api);

src/main/updateService.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,21 @@ export class UpdateService {
1414
private setupIpcHandlers() {
1515
ipcMain.handle(
1616
"set-update-channel",
17-
(_, channel: "latest" | "latest-develop") => {
17+
(_, channel: "latest" | "latest-dev") => {
1818
this.setUpdateChannel(channel);
1919
}
2020
);
2121
}
2222

23-
private setUpdateChannel(channel: "latest" | "latest-develop") {
24-
autoUpdater.allowPrerelease = channel === "latest-develop";
23+
private setUpdateChannel(channel: "latest" | "latest-dev") {
24+
autoUpdater.allowPrerelease = channel === "latest-dev";
2525

2626
let baseUrl =
2727
channel === "latest"
2828
? "https://github.com/Hermesiss/DevNullifier/releases/latest/download/"
2929
: "https://github.com/Hermesiss/DevNullifier/releases/download/latest-dev/";
3030

3131
autoUpdater.setFeedURL(baseUrl);
32-
33-
// Set platform-specific update config path
34-
// if (process.platform === "win32") {
35-
// autoUpdater.updateConfigPath = baseUrl + "latest.yml";
36-
// } else if (process.platform === "darwin") {
37-
// autoUpdater.updateConfigPath = baseUrl + "latest-mac.yml";
38-
// } else if (process.platform === "linux") {
39-
// autoUpdater.updateConfigPath = baseUrl + "latest-linux.yml";
40-
// }
4132
}
4233

4334
private initializeAutoUpdater() {

src/renderer/components/UpdateButton.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,14 @@ function handleUpdateStatus(status: { message: string; data?: any }) {
131131
132132
async function handleBetaChannelChange() {
133133
localStorage.setItem('useBetaChannel', useBetaChannel.value.toString());
134-
await window.electronAPI.setUpdateChannel(useBetaChannel.value ? 'latest-develop' : 'latest');
134+
await window.electronAPI.setUpdateChannel(useBetaChannel.value ? 'latest-dev' : 'latest');
135135
checkForUpdates();
136136
}
137137
138-
onMounted(() => {
138+
onMounted(async () => {
139139
window.electronAPI.onUpdateStatus(handleUpdateStatus);
140140
// Set initial update channel
141-
window.electronAPI.setUpdateChannel(useBetaChannel.value ? 'latest-develop' : 'latest');
141+
await window.electronAPI.setUpdateChannel(useBetaChannel.value ? 'latest-dev' : 'latest');
142142
});
143143
144144
onUnmounted(() => {

src/renderer/types/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export interface ElectronAPI {
5757
saveDeveloperProjects: (projects: ProjectInfo[]) => Promise<void>;
5858
loadSavedDeveloperProjects: () => Promise<ProjectInfo[]>;
5959
getSavedDeveloperProjectsCount: () => Promise<number>;
60-
setUpdateChannel: (channel: 'latest' | 'latest-develop') => Promise<void>;
60+
setUpdateChannel: (channel: 'latest' | 'latest-dev') => Promise<void>;
6161
}
6262

6363
// Add global type augmentation for Window interface

0 commit comments

Comments
 (0)