Update command #80

Merged
rawan merged 7 commits from development_update into development 2026-04-07 13:38:17 +00:00
Member

#79

https://forge.ourworld.tf/geomind_code/my_hypervisor/issues/79
feat: update subcommand
All checks were successful
Unit and Integration Test / test (push) Successful in 1m53s
9084c453b7
fix: make flags exclusive, fix different device issues
All checks were successful
Unit and Integration Test / test (push) Successful in 2m27s
87e4541f99
update docs
All checks were successful
Unit and Integration Test / test (push) Successful in 1m57s
a363cee249
rawdaGastan requested changes 2026-04-06 11:49:19 +00:00
Dismissed
rawdaGastan left a comment
Owner

No checksum verification. The binary is downloaded over HTTPS and written directly to disk with no integrity check. If the release includes a checksums asset (common), you should verify the download against it

No checksum verification. The binary is downloaded over HTTPS and written directly to disk with no integrity check. If the release includes a checksums asset (common), you should verify the download against it
@ -0,0 +63,4 @@
let asset = find_binary_asset(&release.assets)?;
println!(
Owner

If you want we can add a progress indicator (suggestion)

If you want we can add a progress indicator (suggestion)
rawan marked this conversation as resolved
@ -0,0 +68,4 @@
asset.name
);
let bytes = client
Owner

consider a timeout here to not block forever

consider a timeout here to not block forever
rawan marked this conversation as resolved
@ -0,0 +79,4 @@
.await
.context("failed to read download body")?;
let current_exe = std::env::current_exe().context("failed to determine current binary path")?;
Owner

can be unreliable on some platforms (e.g., if the binary was invoked via a symlink). If this is always Linux, it's generally fine via /proc/self/exe, but we can add a comment

can be unreliable on some platforms (e.g., if the binary was invoked via a symlink). If this is always Linux, it's generally fine via /proc/self/exe, but we can add a comment
rawan marked this conversation as resolved
feat: checksum verification of binaries
All checks were successful
Create Release / build (linux-amd64-musl, true, x86_64-unknown-linux-musl) (push) Successful in 1m31s
Unit and Integration Test / test (push) Successful in 2m14s
e494a3fd3c
feat: download progress
All checks were successful
Unit and Integration Test / test (push) Successful in 3m9s
6a74899696
refactor: execute
All checks were successful
Unit and Integration Test / test (push) Successful in 3m34s
1d3c76b794
feat: added download timeout, linux exe comment
All checks were successful
Create Release / build (linux-amd64-musl, true, x86_64-unknown-linux-musl) (push) Successful in 55s
Unit and Integration Test / test (push) Successful in 2m23s
32bc195d2e
Author
Member

The update command now includes SHA256 checksum verification of downloaded binaries. The release workflow (.forgejo/workflows/release.yaml) has been updated to generate and upload a checksums.txt asset alongside the binaries.

Important: This branch must be merged before cutting the next release. Releases created from older workflow versions won't include checksums.txt, and the update command will print a warning and skip verification. The first release after this merge will be the first one with full integrity verification.

The update command now includes `SHA256` checksum verification of downloaded binaries. The release workflow `(.forgejo/workflows/release.yaml)` has been updated to generate and upload a `checksums.txt` asset alongside the binaries. **Important**: This branch must be merged before cutting the next release. Releases created from older workflow versions won't include checksums.txt, and the update command will print a warning and skip verification. The first release after this merge will be the first one with full integrity verification.
rawan merged commit 97cc1f814f into development 2026-04-07 13:38:17 +00:00
rawan deleted branch development_update 2026-04-07 13:38:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/my_hypervisor!80
No description provided.