Commit Graph

52 Commits

Author SHA1 Message Date
Andre Toerien
791993795a fix(sudo): use require_sudo for windows commands 2025-09-28 14:57:40 +02:00
Andre Toerien
fec08a5ad1 Move step logic out of Powershell struct (#1345) 2025-09-27 19:55:56 +02:00
Andre Toerien
a95dd1e037 refactor: route sudo usage through Sudo::execute* 2025-08-06 15:21:51 +02:00
Andre Toerien
32197f79f3 refactor: move RunType::execute to ExecutionContext 2025-08-06 15:21:51 +02:00
Andre Toerien
3f9fe845e5 refactor(powershell): store powershell path directly 2025-07-18 09:21:31 +02:00
Andre Toerien
b166aae835 fix(powershell): run microsoft_store command directly 2025-07-18 09:21:31 +02:00
Andre Toerien
f78514dbd8 fix(powershell): execution policy check breaks when run in pwsh
When topgrade is run from within pwsh, the execution policy check breaks
for the Windows Update and Windows Store steps, because they use normal
powershell and the inherited PSModulePath environment variable breaks
the Microsoft.PowerShell.Security module import. So we unset that
variable to fix the issue, but also allow for those steps to use pwsh as
neither step actually requires PowerShell 5.

Co-authored-by: nistee <52573120+niStee@users.noreply.github.com>
2025-07-18 09:21:31 +02:00
Andre Toerien
9fc5fe9798 fix(powershell): don't use sudo with Update-Module for pwsh
Co-authored-by: Ao <197966644+ao-xing@users.noreply.github.com>
Co-authored-by: nistee <52573120+niStee@users.noreply.github.com>
2025-07-18 09:21:31 +02:00
Andre Toerien
6d14ac1693 refactor(powershell): cleanup and simplify code 2025-07-18 09:21:31 +02:00
Steve Brown
b8ab573c00 fix(powershell): add -Command to module update cmdline 2025-07-18 09:21:31 +02:00
Stuart Reilly
75ac6808a1 Move step running into enum for dynamic ordering (#1188)
Co-authored-by: Stuart Reilly <sreilly@scottlogic.com>
2025-07-16 11:16:27 +02:00
Sam Hug
1114556661 windows update, use explicit reboot policy (#1143) 2025-07-14 09:57:00 +02:00
Nils
30b727b138 fix(powershell): update command arguments to include execution policy (#1041)
* fix(powershell): update command arguments to include execution policy

* fix(powershell): format command arguments for better readability

* fix(powershell): refactor command arguments for Windows execution policy and common options

* fix(powershell): improve execution policy handling and refactor argument passing

* refactor(powershell): streamline command execution and improve profile handling

* fix(powershell): improve code formatting for better readability and maintainability

* fix(powershell): enhance argument validation for improved error handling

* refactor(powershell): simplify Powershell struct methods and enhance command preparation

* refactor(powershell): streamline command building and enhance argument handling

* refactor(powershell): change add_common_args to use instance method for better encapsulation

* refactor(powershell): enhance command building by introducing build_command method and improving argument handling

* refactor(powershell): update build_command return type to match executor.execute() output

* refactor(powershell): refactor command building by introducing build_command_internal and adding profile getter

* refactor(powershell): improve profile retrieval and command execution logic

* refactor(powershell): add support for Windows update and Microsoft Store commands

* refactor(powershell): change args method to arg for accepting all Windows updates

* refactor(powershell): change arg method to args for accepting all Windows updates

* refactor(powershell): change args method to arg for accepting all Windows updates

* refactor(powershell): streamline command construction for Windows updates

* refactor(powershell): update args method for has_module function

* refactor(powershell): improve execution policy handling and command construction for Windows updates

* refactor(powershell): update Microsoft Store update command execution and streamline output handling

* refactor(powershell): clean up whitespace and improve code readability in execution policy checks

---------

Co-authored-by: nistee <lo9s4b7qp@mozmail.com>
2025-04-10 19:48:53 +08:00
Dan Sully
224bb96a98 chore: update toolchain to 1.84.1. apply clippy fixes & rustfmt (#1026)
* chore: update to stable toolchain. apply clippy fixes & rustfmt

* Bump MSRV

* Try MSRV without the patch version

* fix: pin toolchain to MSRV

* trying again

* fix dead code warning

---------

Co-authored-by: Dan Sully <dsully@users.noreply.github.com>
2025-02-03 11:24:57 +08:00
Andreas02-dev
ea2f3e07e9 feat(microsoft_store): Add Microsoft Store step for Windows (#963)
* feat(microsoft_store): Add Microsoft Store step for Windows

Add Microsoft Store Apps update step for Windows as Winget cannot update all Microsoft Store apps yet.

Closes #912

* style(translation): modify `zh_TW` translation
2024-10-23 08:15:46 +08:00
Florian Nagel
29c555c394 Add i18n by using rust i18n (#807)
* feat: initial i18n setup

* style: fmt

* feat: i18n support for new steps

* fix: build on Linux

* fix: build on Linux

* refactor: rm unused translation keys

---------

Co-authored-by: Steve Lau <stevelauc@outlook.com>
2024-10-03 18:47:35 +08:00
Nils
8ece0346d8 chore: improve Windows Update step and add PSWindowsUpdate Module (#842)
* chore: improve Windows Update step and add PSWindowsUpdate Module

Refactor the `windows_update` function in `windows.rs` to improve the Windows Update step. Added a prompt for administrator privileges and updated the warning message. Also, added support for installing the PSWindowsUpdate Module as an alternative to using USOClient for Windows Update.

still see warning:
The installer will request to run as administrator, expect a prompt.
Start-Process : A parameter cannot be found that matches parameter name 'Command'.
At line:1 char:74
+ ... ath powershell -Verb runAs -ArgumentList  -NoProfile -Command Import- ...
+                                                          ~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

VERBOSE: MSI-THIN-GF36 (6/30/2024 4:48:48 PM): Connecting to Microsoft Update server. Please wait...
VERBOSE: Found [0] Updates in pre search criteria

but as the verbose shows it works

* trying

* fix
2024-08-01 09:50:48 +08:00
Nils
b07288e674 Fix/pswindowsupdate (#671)
* cargo update

* An elevated PowerShell is required to run Install-WindowsUpdate on my system.

* Revert "cargo update"

This reverts commit fb58ce761a.
2024-01-29 09:01:38 +08:00
Thomas Schönauer
ab630cfbc6 v10.2.5 release (#330)
* Don't show desktop notification on error (if `skip_notify = true`) (#275)

* Use ─ (U+2500) to draw borders (#282)

* Adds Pclinuxos support (#283)

* Add Devkitpro Pacman support (#291)

* Added support for Neovim package manager lazy.nvim (#293)

* Added support for lazy.nvim

From https://github.com/folke/lazy.nvim
Authored-by: Jacob Lane Ledbetter <jledbetter460@gmail.com>

* Make garuda-update update AUR packages by default (#296)

* fix(#298): Don't throw error if no Helm repository found (#305)

* Skip .NET when `dotnet tool list` is not successful (#302)

* feat(pacstall): add `-y` flag variant (#312)

* Add openSUSE MicroOS support (#315)

* Adds notify-send timeout of 10s (#318)

* Don't run yum when rpm-ostree is available (#313)

* don't run yum when rpm-ostree is available

* Clippy fix

* rpm-ostree: set default value to true

* Fixes if loop error

* Fixes gem update --system requires sudo now (#317)

* Fixes gem update --system requires sudo now

* rubygem: Adds arg -EH to sudo

* Use fixed nala path instead of which(nala) (#314)

* Adds notify-send bug warning when topgrade is run (#324)

* Adds notify-send bug warning when topgrade is run

* fix typo + clippy

* notify-send warning respects skip_notify flag

* nix: Adds additional arguments support (#325)

* Adds pip-review and pipupgrade support (#316)

* Adds pip-review and pipupgrade support

* Python: fixes pip_review and pipupgrade

* v10.2.5 patch (#329)

* WSL: Adds new wsl --update flags (#327)

* wsl: Updates available flags

* Clippy fix

* Add WslUpdate runner

* wsl: Code Typo

* wsl: Code Typos

* wsl: Code Typos

* wsl: Code Typo

* Adds AM Package Manager (#328)

* Adds AM Package Manager

* Clippy fixes

* Cargo fmt

* Moves am to linux only in main file

---------

Co-authored-by: Guilherme Silva <626206+guihkx@users.noreply.github.com>
Co-authored-by: Gabriel Augendre <gabriel@augendre.info>
Co-authored-by: Cat Core <34719527+arthurbambou@users.noreply.github.com>
Co-authored-by: Hugo Haas <hugoh@hugoh.net>
Co-authored-by: Baptiste <32563450+BapRx@users.noreply.github.com>
Co-authored-by: bbx0 <39773919+bbx0@users.noreply.github.com>
Co-authored-by: Sourajyoti Basak <wiz28@protonmail.com>
2023-01-29 19:19:27 +00:00
Rebecca Turner
2cbb7db66d Use color_eyre (#173) 2022-11-23 15:24:58 +00:00
Rebecca Turner
e84173be8f Add CommandExt trait (#146)
* Color CI output

* Improve `CommandExt`

* Add comments explaining `#[allow]`s

* Remove useless `dead_code` annotation

* Improve error messages

* Print errors when running a shell errors

* fixup! Remove useless `dead_code` annotation
2022-11-23 15:24:58 +00:00
Thomas Schönauer
bd34a3bcd4 Revert "10.2.0 release " (#215)
Revert "10.2.0 release  (#213)"

This reverts commit 13076fcef6.
2022-11-23 16:23:00 +01:00
Thomas Schönauer
13076fcef6 10.2.0 release (#213) 2022-11-23 15:18:09 +00:00
Thomas Schönauer
66e0b94e85 Resolve clippy errors (#130)
* Resolves clippy errors

* Fixes clippy errors
2022-11-03 18:54:40 +00:00
Rebecca Turner
55ba2d30c1 Quote arguments when executing in a shell (#118)
* Quote arguments when executing in a shell

Fixes #107

* Parse quotes in `tmux_arguments`

This makes it possible to encode spaces in arguments. Maybe the config
value should be an array instead?

* Print error causes

Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
2022-11-03 16:46:43 +00:00
Thomas Schönauer
347372ca71 Resolves clippy errors, please review!!! (#60) 2022-10-23 11:34:30 +00:00
Roey Darwish Dror
0c5b8099cb Pass -Force instead of -Confirm to powershell update (fix #825) 2022-01-06 05:35:40 +02:00
Roey Darwish Dror
ab3ff0ecae Selective yes (fix #802) (#808)
* Selective yes flag (fix #802)

* Selective yes flag (fix #802)

* selective yes

* MacOS
2021-12-06 14:44:20 +02:00
Roey Darwish Dror
539b267eef Support rust 1.51.0 (#789) 2021-10-28 22:05:35 +03:00
Marcin Puc
1478d079ca Add minor refactorings (#754) 2021-09-04 21:01:19 +03:00
Roey Darwish Dror
3135a79e90 Clippy 2021-09-02 13:14:41 +00:00
Roey Darwish Dror
8c6a48af76 Support -y in Powershell (fix #696) 2021-04-24 06:07:50 +03:00
Roey Darwish Dror
cf63db2786 Remove Microsoft store (fix #674) 2021-04-23 07:01:11 +03:00
Roey Darwish Dror
35df3174c9 Clippy 2021-04-07 13:32:58 +03:00
Roey Darwish Dror
141ec83372 Clippy 2021-04-07 10:23:26 +03:00
Roey Darwish Dror
746ffda444 Windows App Store (fix #622) (#624) 2021-02-11 06:31:59 +02:00
Roey Darwish Dror
fc83c5a4e4 Run Powershell with -NoProfile (Fix #582) (#583) 2020-12-10 21:28:35 +02:00
Roey Darwish Dror
5074280f16 Remove AcceptLicense (fix #572) 2020-12-03 21:48:53 +02:00
Roey Darwish Dror
dad0a9b1bb Check if the powershell profile directory exists
This works whether the user uses profile.ps1 or Microsoft.PowerShell_profile.ps1
2020-11-19 13:32:21 +02:00
Roey Darwish Dror
201910ed28 Powershell fixes 2020-08-23 09:10:09 +03:00
Roey Darwish Dror
417ca1257a Add --show-skipped (fix #501) (#502) 2020-08-21 23:04:36 +03:00
Roey Darwish Dror
0cfae3d5eb Run Windows update with Powershell using sudo (fix #477) (#481) 2020-07-20 15:23:25 +03:00
Anders Rasmussen
c486c106c5 Modify powershell step to fix compilation on macOS (#478) 2020-07-16 06:34:17 +03:00
Roey Darwish Dror
abc6a8065b Support yes flags for Powershell 2020-07-15 08:47:15 +03:00
Roey Darwish Dror
670dbd1f64 Use the built in Windows update client 2020-02-27 22:06:14 +02:00
Roey Darwish Dror
8c12707693 Add a flag to control Windows update acceptance policy (fix #310) 2020-01-30 20:43:39 +02:00
Roey Darwish Dror
ba516aa1dd Migrate from failure to anyhow/thiserror (#273) 2019-12-11 23:05:38 +02:00
Roey Darwish Dror
e299ee6af3 Powershell module update is too verbose 2019-11-27 22:31:25 +02:00
Roey Darwish Dror
e0c294bd9e Run Windows update specifically in the Windows powershell 2019-11-27 22:19:54 +02:00
Roey Darwish Dror
0bbe81586a Make clippy happy in Windows 2019-10-01 20:32:32 +03:00