Fix chezmoi version drift in install pipelines#323
Conversation
Agent-Logs-Url: https://github.com/DevSecNinja/dotfiles/sessions/f1db293d-a786-49ca-96e6-50e69c2dd3d1 Co-authored-by: DevSecNinja <14926452+DevSecNinja@users.noreply.github.com>
|
@copilot I like to have things installed via the package managers instead of manually. Can't we just simply error out when the versions don't match and use e.g. --version from winget (https://learn.microsoft.com/en-us/windows/package-manager/winget/install#:~:text=%2Dv%2C%20%2D%2Dversion,highest%20versioned%20application.) to match the version number with .chezmoiversion? Then I just need to wait until the packages are up-to-date. |
Adjusted this to avoid the official release installer for required versions. Unix now tries package managers (mise/Homebrew) and errors with update guidance if they cannot provide the required version; Windows now uses Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot Hmm, the pipeline is failing for winget but it's actually available: |
... The failing CI log showed winget could not open/update its source before it got to package resolution. I updated the installer to refresh/reset winget sources, query the documented Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot I need to figure out how Chezmoi versions get installed across the repo but also in my other repos. I know we have a .chezmoi version file, but are all tools pointing towards installing the version in that file, both in the devcontainer and in the installer? I noticed |
Moved the Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Renovate updates
.chezmoiversion, but Windows/devcontainer pipelines could still use an older or unpinnedchezmoipackage. That causedchezmoi initto fail when source state required the newer version.Installer version enforcement
.chezmoiversionbefore runningchezmoi init.chezmoibinary against the required version..chezmoiversionfor Unix installs sochezmoiinstalls remain pinned.v-prefixedchezmoi --versionoutput.Cross-platform coverage
home/install.shusingmiseand Homebrew package-manager paths.home/install.ps1usingwinget.wingetsources when needed before package resolution.wingetpackage version and install the available package version when it satisfies.chezmoiversion..mise.tomlchezmoito the same version as.chezmoiversionand use it in devcontainer/CI install paths instead ofchezmoi@latest.Renovate coverage
.chezmoiversionupdated via the existing Renovate custom manager..mise.tomlupdated with an inline Renovate comment above thechezmoiversion pin.Regression coverage
chezmoiinstall paths, unavailable package-manager versions, v-prefixed version output,.mise.tomlpin alignment, Renovate coverage, and unpinned install-path prevention.wingetsource refresh, package-version detection, and diagnostics.Example behavior: