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>
* 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
* 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>
* 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
* "Add *.profraw files to .gitignore
*.profraw files are generated by LLVM's Clang compiler when using the -fprofile-instr-generate option for Profile Guided Optimization. These files contain raw profiling data and should not be version controlled."
* Remove redundant import of TryFrom trait
The TryFrom trait was being imported explicitly in src\steps\os\windows.rs, even though it's already part of the Rust prelude and automatically imported into every Rust program. This was causing a compiler warning. This commit comments out the redundant import to resolve the warning.
* Add GitHub Actions workflow for Rust build and test
This commit adds a new GitHub Actions workflow for building and testing the Rust project across multiple operating systems (Ubuntu, Windows, macOS) and Rust versions (stable, beta, nightly). It also includes caching for dependencies and build artifacts, and uploads code coverage reports to Codecov.
* Update Codecov action and add token for coverage report upload
This commit updates the version of the Codecov GitHub Action used to upload coverage reports from v4 to v4.0.1. It also adds a token from the repository secrets to authenticate the upload. This ensures secure and authorized communication with the Codecov service.
* "Fix misuse of --jobs flag in cargo test command"
* "Fix grcov command in GitHub Actions workflow
The grcov command was previously prefixed with './', which caused an error because grcov was not found in the current directory. This commit removes the './' prefix to call grcov from the global path, where it is installed."
* Update GitHub Actions workflow for cross-platform compatibility
This commit modifies the 'build-and-test.yml' GitHub Actions workflow to ensure it works correctly across different operating systems (Ubuntu, Windows, MacOS). The RUSTFLAGS environment variable is now set in a cross-platform compatible way. The workflow will run the build and test process on every pull request and push to the main branch, generate a coverage report, and upload it to Codecov.
* Changed workflow trigger event to 'workflow_run' completion of 'Build and test' workflow
* "Updated GitHub Actions workflow to correctly set environment variables for code coverage"
* Renamed build and test workflow
* Update GitHub Actions workflow trigger
Change the trigger of the 'Test with Code Coverage' workflow to run when the 'build-and-test' workflow is completed. This ensures that code coverage is only calculated after successful build and test runs.
* Update workflow_run trigger in code-coverage.yml
* Fix CODECOV_TOKEN in code-coverage.yml workflow
* Update code-coverage workflow to trigger on pull requests and pushes to main branch
* Update .gitignore file to exclude LLVM profiling output
* Add empty line at the end
* Remove unused import in windows.rs
* Update .github/workflows/build-and-test.yml
Co-authored-by: SteveLauC <stevelauc@outlook.com>
* Update .github/workflows/build-and-test.yml
Co-authored-by: SteveLauC <stevelauc@outlook.com>
* Remove code coverage workflow
---------
Co-authored-by: SteveLauC <stevelauc@outlook.com>
* cargo update
* Remove the check for 'winget_enable' set to 'true'. On my Windows 10 and 11 machines, there are no issues with Winget anymore. As far as I remember, it was disabled by default because it was buggy back then.
* remove print_warning
* Revert "cargo update"
This reverts commit 5f4e532bc1.
* Removed the `enable_winget = true` configuration as winget is now enabled by default.
* Removed the #[cfg(windows)] flag.
* Revised as Recommended
* Wrapping at 80
* cargo update
* Implementing a check for Windows 11 and, if detected, skipping Windows Update via usoclient.exe. It is suggested to install PSWindowsUpdate.
* Revert "cargo update"
This reverts commit 43a4d321cf.
* Revert "Implementing a check for Windows 11 and, if detected, skipping Windows Update via usoclient.exe. It is suggested to install PSWindowsUpdate."
This reverts commit e1ef2e4bc5.
* Removed the usoclient step and added an error message.
* cargo fmt
* Use global lazy HOME_DIR
* Remove unused base_dirs
* Use `etcetera` instead of `directories`
---------
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
* 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>
* Create `Sudo` type and `SudoKind` enum
* Fix build
* reformat
* Fix choco on windows
* Fix linux
* Fix linux more
* more fix stuff hehe hoho hahaha
* more fix stuff hehe hoho hahaha
Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
* Changes windows get_wsl_distribution argument
* changes in get_wsl_distributions
* changes in run_wsl_topgrade due to clippy errors
* Resolves needless borrow