Commit Graph
34 Commits
Author SHA1 Message Date
Jo 15057c8dab misc(ci): add modernize linter and update versioning (#2870)
* add modernize linter

* lint unused

* update imports

* ignore agent info
2026-06-17 21:09:53 +02:00
Jo 3b79933638 test: harden coverage and make tests parallel-safe (#2797)
* Test coverage hardening and parallel-safe refactors

Add focused test coverage for under-tested operational paths, edge branches,
and make key table-driven suites parallel-safe. Also fixed flaky installer
test execution under repeated/parallel runs.

* chore: fix goimports ordering for golangci-lint

* Test(download): expand integration coverage for download paths

Add integration scenarios for force/pull repo updates, repo-only and skip semantics,
and direct AUR download/scanner coverage used by getpkgbuild and package preparation.

* Test(exe): relax systemd-run path assertion

Fix flaky TestBuildGitCmd by accepting an absolute systemd-run path while still
asserting the expected binary is used.

* Test(text): avoid race in color tests

Remove parallel execution from TestColorHash so global UseColor writes do not
overlap with color consumers in parallel tests and trigger race detector
failures.

* fix potential race conditions
2026-03-25 00:51:34 +01:00
b09f3de913 ci: update golangci-lint to v2.10.1 and bump Go to 1.26 (#2791)
* Initial plan

* ci: update golangci-lint to v2.10.1 and use go 1.26

Co-authored-by: Jguer <8071073+Jguer@users.noreply.github.com>

* fix false report lints

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jguer <8071073+Jguer@users.noreply.github.com>
Co-authored-by: Jo Garnier <git@jguer.space>
2026-03-08 23:33:23 +01:00
Jo 81440e54a4 chore(go): modernize syntax (#2672)
* modernize go syntax

* fix lint
2025-09-18 18:05:58 +02:00
Jo b745f87210 chore(ci): update golangci lint v2.1.5 (#2615)
* chore(ci): update golangci-lint to v2.1.5 in ci.Dockerfile

* add golangci

* fix lint

* fix lint pkg/upgrade

* reenable lint
2025-05-01 10:00:10 +02:00
Joey Holtzmanandjguer 04c76a404e feat(install): add --keepsrc to keep pkg/ and src/ directories (#2272)
* feat(install): add --nocleanbuild to keep pkg/ and src/ directories for
AUR packages

Providing this flag during installation of AUR packages allows for keeping
the src/ and pkg/ directories produced my makepkg. If the user wants to
delete the directories, they can either select to cleanBuild in the
cleanmenu or run the installation without the --nocleanbuild flag (yay
will only remove the directories if the package is rebuilt)

* fix(completion): simplify description for --nocleanbuild in fish

This makes the description consistent with the descriptions in the
man page, --help, and zsh completion.

* refactor(install): Rename --nocleanbuild to --keepsrc

This naming scheme is more familiar to users since it is the name of the
flag in Paru.

---------

Co-authored-by: jguer <me@jguer.space>
2023-09-18 09:21:42 +02:00
Jo 8916cd174b refactor(yay): move cfg inside of runtime (#2259)
* rework relationship between runtime and cfg

* separate runtime from cfg

* simplify instantiation logic

* move installer to appropriate package

* move operator to sync package

* add tests for srcinfo service

* consolidate srcinfo service in sync

* add logger to srcinfo

* add logger to preparer

* remove unused text functions

* remove remaining text.* from srcinfo

* remove global logger parts

* remove global org method exports

* remove global logger

* move text->input

* add rule to prevent fmt.Print

* update golangci go version

* remove outdated FAQs

* remove outdated FAQs
2023-08-06 21:39:41 +02:00
smolx 0607090719 Fix deps resolving for installs from SRCINFO (#2190)
Also made MockBuilder and MockRunner thread-safe.
2023-06-03 13:53:33 +00:00
Jo 3d5a43c294 chore(yay): bump version (#1949)
bump major
2023-03-07 21:04:06 +00:00
Jo 463e60e045 chore(deps): update goalpm (#1947)
* update dependencies

* use logger in cmd runner
2023-03-06 09:19:21 +00:00
Jo 61f1bdf291 fix(cmd): propagate sigterm to spawned processes (#1927)
propagate sigterm to spawned processes
2023-02-21 02:49:33 +00:00
Jo 7c8f273cdf fix(git): add git denylist for workspace variables (#1926)
add git denylist for workspace variables
2023-02-21 02:23:48 +00:00
Jo b8debd1ae7 chore(yay): fix small linting issues (#1885)
* replace context.TODO() in tests context.Background()

* remove mock TODOs

* prettier

* apply missing linting
2023-01-03 21:43:56 +00:00
Jo 28d90c981e feat(new engine): local install feature testing (#1867)
* make config into parameter

* test(new engine): local install test

* test(keys): fix test keys

* complete integration test for local install

* add simple mising mechanism
2022-12-29 12:34:53 +00:00
Jo 7da9f4869d feat(new engine): skip built and respect --needed (#1852)
* add built package check

* respect --needed for new engine

* add needed check and test

* add test for not built
2022-12-16 17:23:44 +00:00
Jo 6ad63cae10 fix: rework menus to work on both flows (#1830)
* rework menus to work on both flows

* add installed package split

* remove unused field

* Add post install hooks
2022-11-20 00:51:55 +00:00
Дамјан Георгиевски f7dbebcc2c fix(exec): add --quiet to systemd-run (#1654)
* add --quiet to systemd-run

this will avoid the `Press ^] three times within 1s to disconnect TTY.` message.

it's mentioned in the systemd-run man page too:
```
--quiet, -q
    Suppresses additional informational output while running. This is particularly useful in combination with --pty when it will suppress the
    initial message explaining how to terminate the TTY connection.
```

* add --quiet to the tests

* add --quiet to TestABSPKGBUILDRepoExistsPerms too
2021-12-20 17:49:25 +01:00
jguer 555d1ead95 chore(version): bump major version 2021-09-08 22:28:08 +02:00
jguer adb74b9252 chore(su): prefer short form if 2021-09-07 00:41:36 +02:00
jguer ffb17fd2e3 feat(su): deelevate if ran as su without tool 2021-09-07 00:41:36 +02:00
jguer bc1d900fa9 feat(su): deelevate if ran as su using a privilege elevation tool 2021-09-07 00:41:36 +02:00
jguer c8fcdeae5b feat(su): use alternative privilege elevators when sudo is not available
When sudobin/custom wrapper is not available try the following in order:

- sudo
- doas
- pkexec
- su
2021-08-31 02:17:27 +02:00
jguer e231b2b02d chore(yay): modernize exec commands 2021-08-14 00:10:43 +02:00
jguer cb4b57f6d8 chore(golangci): add new linters 2021-08-11 22:19:55 +02:00
jguer 5c11c01d85 refactor(exe): move sudo loop into CmdBuilder 2021-08-08 21:02:35 +02:00
jguer 172ee1f4e8 refactor(exe): port pacman calls to cmd_builder 2021-08-08 17:45:07 +02:00
jguer 1a2e5b9529 refactor(settings): move args to own package to allow pacman cmd builder 2021-08-08 17:45:07 +02:00
jguer 79b44fd544 feat(download): download PKGBUILD repos interface 2021-08-05 10:11:54 +02:00
xhqr 24edabe5df Print error if PATH is empty.
This fixes #881.

Before:
```bash
$ PATH= /usr/bin/yay -Qu
$ echo $?
1
```

After:
```bash
$ PATH= ./yay -Qu
exec: "pacman-conf": executable file not found in $PATH
$ echo $?
1
```
2021-01-16 18:27:39 +01:00
ccat3z bb50b4079f fix(exe): fix timeout of OSRunner.Capture()
kill all child processes
2020-12-10 09:07:33 +01:00
jguer 55a6767b44 fix(parser): use Fields instead of Split 2020-10-30 11:09:06 +01:00
jguer 81b5feb68a fix(passer): fix slice copying for passer 2020-10-30 11:09:06 +01:00
jguer 3b2bb28e81 feat(exe): AddMakepkg builder 2020-08-22 01:24:52 +02:00
jguer 72f120b0f3 feat(config): refactor config to allow running without config 2020-08-21 02:39:52 +02:00