fix: BIOS dry run also walks through the restart choices

A dry run counts as staged, so [m]/[r] and the restart question on q show up; restarting only prints in dry-run mode.
This commit is contained in:
theupriser committed 2026-09-24 10:48:39 +02:00
1 parent 2e6d20a3f0
commit 0cb9f8b9ca
3 files changed
+14 -4

No files matched your search

+4 -1
View File
@@ -25,7 +25,7 @@ every run. Merged together with 0.7.0, so v0.8.0 is the release that has both.
- `b70c9d6` **fix: shellcheck in the bundle, and the docs for the BIOS checks**
- A variable name in `lib/bios.sh` clashed with `lib/state.sh` in the bundle
(CI's shellcheck would fail); README, AGENTS.md and this changelog updated.
- **feat: Menu comes back after each run, BIOS dry run, version 0.8.0**
- `54fc9e3` **feat: Menu comes back after each run, BIOS dry run, version 0.8.0**
- After a run the menu returns with the new state; quit with `q`. When
something needs a restart, choose between back to the menu (`m`) and
restart now (`r`); quitting asks once more.
@@ -33,6 +33,9 @@ every run. Merged together with 0.7.0, so v0.8.0 is the release that has both.
- `WIZARD_BIOS_DRY_RUN=1` walks through the whole BIOS update (download,
checksum, both warnings) but only prints the install and never flashes.
- README: the menu loop and the BIOS update step by step.
- **fix: BIOS dry run also walks through the restart choices**
- A dry run counts as staged, so `[m]`/`[r]` and the restart question on `q`
show up; in dry-run mode restarting only prints what it would do.
## 0.7.0 - 2026-09-24
+4 -1
View File
@@ -174,7 +174,10 @@ bios_enable() {
if [[ -n "$BIOS_DRY_RUN" ]]; then
ok "Dry run: would now run: sudo fwupdmgr install -y --no-reboot-check $BIOS_CAB"
ok "Dry run finished; nothing was flashed and no restart is needed."
ok "Dry run finished; nothing was flashed."
# Treated as staged, so the restart choices that follow a real
# update show up too; restarting only prints (see restart_now).
BIOS_NEEDS_RESTART=1
rm -rf "$tmp"
return 0
fi
+6 -2
View File
@@ -46,6 +46,10 @@ restart_now() {
warn "The BIOS update is written during this restart. Keep the power on and don't"
warn "touch the machine until it has fully started again, even if the screen stays black."
fi
if [[ -n "${BIOS_DRY_RUN:-}" ]]; then
ok "Dry run: would restart now (sudo reboot); not restarting."
exit 0
fi
info "Restarting..."
sudo reboot
exit 0
@@ -131,13 +135,13 @@ if [[ -n "${BIOS_NEEDS_RESTART:-}" ]]; then
warn "The BIOS update is written during the next restart. Keep the power on and"
warn "don't touch the machine until it has fully started again, even if the screen stays black."
if ask_yn "Restart now to install the BIOS update?" n; then
sudo reboot
restart_now
else
info "The BIOS update installs at your next restart."
fi
elif [[ "$RESTART_FOR_LOGIN" == true ]]; then
if ask_yn "Restart now so the changes take effect?" n; then
sudo reboot
restart_now
else
info "Restart whenever you're ready."
fi