Fix CI: pnpm PATH, Obsidian arch matcher, Arch pkg names, Fedora lazygit COPR
- post.go: export PNPM_HOME+PATH before pnpm add -g so global bins install correctly in the non-interactive shell. Applied to installNpmPackage and installPlaywright (incl. browser install). - system.go: treat token-less Obsidian AppImage as x86_64 (upstream publishes "Obsidian-X.Y.Z.AppImage" with no arch suffix). - pkgmgr.go: docker-ce-rootless-extras and vagrant are AUR-only on Arch → skipOverride; pipx → python-pipx on pacman. - repos.go: new setupLazygitCoprRepo enables copr.fedorainfracloud.org/ dejan/lazygit on Fedora; wired into repoGroups so lazygit installs. - Tests: PNPM_HOME export (Linux+macOS), token-less Obsidian asset, pacman pkg overrides, COPR repo setup, updated repoGroups count. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -478,6 +478,13 @@ func installAgy() {
|
||||
}
|
||||
}
|
||||
|
||||
func pnpmEnvPrefix() string {
|
||||
if isMacOS {
|
||||
return `export PNPM_HOME="$HOME/Library/pnpm" && export PATH="$PNPM_HOME:$PATH" && `
|
||||
}
|
||||
return `export PNPM_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/pnpm" && export PATH="$PNPM_HOME:$PATH" && `
|
||||
}
|
||||
|
||||
func installNpmPackage(pkgName string) {
|
||||
home, _ := os.UserHomeDir()
|
||||
if _, err := osStat(filepath.Join(home, ".nvm")); err != nil {
|
||||
@@ -486,7 +493,8 @@ func installNpmPackage(pkgName string) {
|
||||
}
|
||||
ensureNodeLTS()
|
||||
fmt.Printf(" Installing %s via pnpm ...\n", pkgName)
|
||||
if !runShell(fmt.Sprintf(`bash -c "source ~/.nvm/nvm.sh && pnpm add -g %s"`, pkgName), CmdOpts{}).OK() {
|
||||
cmd := fmt.Sprintf(`bash -c "%ssource ~/.nvm/nvm.sh && pnpm add -g %s"`, pnpmEnvPrefix(), pkgName)
|
||||
if !runShell(cmd, CmdOpts{}).OK() {
|
||||
errLog(fmt.Sprintf("%s installation failed", pkgName))
|
||||
}
|
||||
}
|
||||
@@ -499,7 +507,8 @@ func installPlaywright() {
|
||||
}
|
||||
ensureNodeLTS()
|
||||
fmt.Println(" Installing playwright via pnpm ...")
|
||||
if !runShell(`bash -c "source ~/.nvm/nvm.sh && source ~/.bashrc 2>/dev/null; pnpm add -g playwright"`, CmdOpts{}).OK() {
|
||||
addCmd := fmt.Sprintf(`bash -c "%ssource ~/.nvm/nvm.sh && pnpm add -g playwright"`, pnpmEnvPrefix())
|
||||
if !runShell(addCmd, CmdOpts{}).OK() {
|
||||
errLog("playwright installation failed")
|
||||
return
|
||||
}
|
||||
@@ -510,7 +519,7 @@ func installPlaywright() {
|
||||
} else {
|
||||
fmt.Println(" Installing Playwright browsers ...")
|
||||
}
|
||||
if !runShell(fmt.Sprintf(`bash -c "source ~/.nvm/nvm.sh && source ~/.bashrc 2>/dev/null; %s"`, installCmd), CmdOpts{}).OK() {
|
||||
if !runShell(fmt.Sprintf(`bash -c "%ssource ~/.nvm/nvm.sh && %s"`, pnpmEnvPrefix(), installCmd), CmdOpts{}).OK() {
|
||||
errLog("playwright browser installation failed")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user