Commit Graph

108 Commits

Author SHA1 Message Date
Dominik Schulz 71861e4a8b chore: Update golangci-lint (#3287)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-11-12 21:09:26 +01:00
Dominik Schulz a5a03a72d0 [fix] Drop Go 1.23 (#3274)
Some tools require at least 1.24.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-10-05 22:07:23 +02:00
Dominik Schulz 9d905ecd65 [chore] Add capability and vulnerability checks (#3266)
This commit adds capslock and govulncheck to help us identify
vulnerabilities and possible supply chain attacks through added
capacilities in dependencies. The signal for this repop is low since
we have to rely on a large number of direct filesystem access
and subprocess executions but it seems worth a try.

Fixes #3254

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-10-05 12:34:35 +02:00
Dominik Schulz aeac8c4f76 chore: Remove vendor directory before calling go clean (#3186)
This avoid issues when the vendor directory is not canonical.
Those might be relevant for other operations but not for
the clean target.
2025-08-11 09:27:08 +02:00
Dominik Schulz ab22687ee3 [fix] Update Makefile and fix lint violations (#3134)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-21 20:27:19 +02:00
Dominik Schulz 431a090f40 [chore] Add keep-sorted linter (#3130)
* [chore] Add keep-sorted

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix keep-sorted invocation

And one sorting violation.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-19 20:42:57 +02:00
Dominik Schulz e487ea56a8 [chore] Migrate goreleaser config to v2 (#3122)
* [chore] Migrate goreleaser config to v2

Minor changes that should have no visible effect.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Pull gorelease v2 in the Makefile

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix install command

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-17 19:44:39 +02:00
Dominik Schulz 7b35864b13 [chore] Do not run linters twice (#3119)
We already have a golangci-lint GHA but we still run it in the linux
tests. This often creates inconsistent findings. Let's not do that
and only run the linter once in it's own action. Also rename the
test targets that were created for Travis CI a long time ago.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-17 08:50:04 +02:00
Dominik Schulz 7281ca8ab4 [chore] Migrate to golangci-lint v2 (#3104)
* [chore] Migrate to golangci-lint v2

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issue

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Add more package comments.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix golangci-lint config and the remaining checks

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Use Go 1.24

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix container builds

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix more failing tests

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix test failure

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix another len assertion

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Move location tests

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix most remaining lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Only run XDG specific tests on linux

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Attempt to address on source of flaky failures

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-17 08:05:43 +02:00
Dominik Schulz 21687eea47 [fix] Fix debug.ModuleVersion (#3079)
* [fix] Fix debug.ModuleVersion

Add tests, fix parsing issues and add a specical case for the main
module.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix two lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-03-05 16:54:17 +01:00
Dominik Schulz 26501172e7 fix: Remove gci (#3000)
gci would sometimes mess with gofumpt and cause lint issues.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2024-11-24 16:37:10 +01:00
Dominik Schulz fdf8be4cd3 chore: Update dependencies (#2971)
* chore: Update dependencies

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* chore: gofumpt

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2024-10-14 22:25:38 +02:00
Ludovic Fernandez 9b6a28f031 [chore] use the same version of golangci-lint (#2948)
* [chore] use the same version of golangci-lint

Signed-off-by: Fernandez Ludovic <ldez@users.noreply.github.com>

* Fixing the new lint issues in 1.61.0

Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

* Fixing test issue introduced by lint fix

Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

* [chore] show golangci-lint stats

Signed-off-by: Fernandez Ludovic <ldez@users.noreply.github.com>

---------

Signed-off-by: Fernandez Ludovic <ldez@users.noreply.github.com>
Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
2024-09-25 15:36:23 +02:00
Dominik Schulz bdbda5892a [BUGFIX] Use goreleaser build for crosscompile (#2635)
This should make sure that we catch all platforms we target during
release.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2023-09-11 09:14:00 +02:00
Dominik Schulz d8a01b5636 Update Makefile to include BSD in crosscompile (#2631)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2023-08-01 10:05:28 +02:00
Dominik Schulz f58454452f Increase test coverage (#2461)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-12-10 23:05:33 +01:00
Dominik Schulz 18ffee354f Add .gitconfig parser (#2395)
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes #1567
Fixes #1764
Fixes #1819
Fixes #1878
Fixes #2387
Fixes #2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-11-25 10:50:34 +01:00
Hoang Nguyen b431161138 Makefile: install completion files with mode 0644 (#2422) 2022-11-21 14:21:47 +01:00
Dominik Schulz 2a94f49ec9 Include integrations into the dockerfile (#2353)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-09-27 21:03:47 +02:00
Dominik Schulz b5971ea7fc Add license-lint (#2335)
Fixes #2332

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-09-10 14:48:59 +02:00
Dominik Schulz 88fbd579c2 Add make msi (#2241)
Fixes #2038

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-05-30 19:38:20 +02:00
Dominik Schulz 16c071a780 Enable golangci-lint on push and pr (#2158)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-03-24 21:58:53 +01:00
Dominik Schulz 5eceae1f86 Try gocritic (#2169)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-03-17 21:07:55 +01:00
Dominik Schulz 117db90478 Update deps (#2168)
Ran 'make upgrade' (includes gofumpt).

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-03-17 20:55:53 +01:00
Dominik Schulz e6255ea608 Cleanup codequality target and linter config (#2113)
RELEASE_NOTES=n/a
2022-01-15 21:56:55 +01:00
Yolan Romailler ad47305dc7 Migrating to Golangci-Lint (#2075)
* Migrating to Golangci-Lint

Adding a GHA that is currently not running automatically until it's supporting Go 1.18

Adding the proper config files for Golangci-lint

Removing codequality from CI in Makefile

phasing out some of the codequality linters too since they are in golangci already

RELEASE_NOTES=n/a

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>

* Finalizing all tests with Go 1.18

RELEASE_NOTES=n/a

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
2021-12-28 15:53:22 +01:00
Dominik Schulz ffaa9e3729 Document reproducible builds (#1809)
Fixes #1808

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-12-22 20:10:59 +01:00
Dominik Schulz 110c20e261 [Go 1.18] Introduce type parameters (#2034)
This commit replaces some overly complex constructs with type
parameters.

Fixes #2030

RELEASE_NOTES=[ENHANCEMENT] Generics

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-12-21 10:52:42 +01:00
Dominik Schulz 2233d15401 Test Go 1.18beta1 (#2058)
RELEASE_NOTES=[ENHANCEMENT] Bump to Go 1.18

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-12-21 09:51:46 +01:00
Dominik Schulz 4d1b3a2bcf Update dependencies (#1908)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-04-20 22:08:06 +02:00
Dominik Schulz f92a60d29a Move pkg/pinentry to github.com/gopasspw/pinentry (#1876)
RELEASE_NOTES=[CLEANUP] Moving pkg/pinentry to gopasspw/pinentry

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-03-24 21:13:08 +01:00
Dominik Schulz 2fdeb0fd42 Generate manpage and completion on release (#1860)
Shipping pre-generated manpage and completion files simplifies
packaging gopass.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-03-20 20:46:09 +01:00
Dominik Schulz 39c4c31e15 Use BSD install compatible install -d (#1859)
Use BSD install compatible install -d instead of GNU install -D to
create directories.

RELEASE_NOTES=[BUGFIX] Fix make install on BSD

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-03-20 19:16:02 +01:00
Dominik Schulz 698ae081d6 Allow overriding clipboard error message helpers (#1851)
This is useful for packaging gopass on some platforms and
a no-op on others.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-03-20 12:03:31 +01:00
Silke Hofstra 0cffba3fe6 Install manpage when using make install (#1845)
Add an `install-man` make target to install the manpage,
and include it in the `install` target.

RELEASE_NOTES=[ENHANCEMENT] Install manpage when using `make install`

Signed-off-by: Silke Hofstra <silke@slxh.eu>
2021-03-17 19:32:05 +01:00
Dominik Schulz 9823d3816c Add manpage (#1827)
This commit adds a man page generator.

Fixes #1824

RELEASE_NOTES=[ENHANCEMENT] Add gopass.1 man page

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-03-09 12:12:37 +01:00
Pharb 104864b4ba Remove Makefile workaround for jsonapi on Windows (#1795)
RELEASE_NOTES=n/a

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2021-02-14 10:59:17 +01:00
Dominik Schulz 4ec3b87055 Setup GitHub Actions (#1730)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-01-19 12:30:46 +01:00
Dominik Schulz 9d830ae784 Remove migrated binaries (#1712)
This commit removes the binaries that were migrated to their dedicated
git repos.

Fixes #1673
Fixes #1649
Fixes #1652
Fixes #1631
Fixes #1165
Fixes #1711
Fixes #1670
Fixes #1639

RELEASE_NOTES=[CLEANUP] Remove migrated binaries

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-01-15 09:08:27 +01:00
Yolan Romailler 55ef408351 Fixing Windows tests (#1680)
RELEASE_NOTES=[ENHANCEMENT] Full windows support

Windows tests are no longer allowed to fail now since they all pass.
Notice the exception for jsonapi which is considered a malware for some
reason and is therefore excluded on windows.

We will be able to remove the exception once jsonapi will be moved to
its own repo.

Signed-off-by: Yolan Romailler <yolan@romailler.ch>
2021-01-04 19:45:48 +01:00
Yolan Romailler e290d741b2 Fix travis runs caused by outdated gocyclo (#1637)
Fixes #1636

RELEASE_NOTES=n/a

Signed-off-by: Yolan Romailler <yolan@romailler.ch>
2020-10-30 19:46:41 +01:00
Dominik Schulz f9490f7e8c Fix Makefile (#1550)
Build the correct binaries.

RELEASE_NOTES=[BUGFIX] Fix the Makefile

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-08-25 13:33:49 +02:00
Dominik Schulz cf6ebc6d57 Do not build xc by default (#1536)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-08-18 21:39:12 +02:00
Dominik Schulz f3a3f3882e Add new binaries to Makefile (#1483)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-08-09 22:20:21 +02:00
Dominik Schulz 0a7c545f7e Do not crash when initializing API (#1481)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-08-09 14:55:43 +02:00
Dominik Schulz 762f62a091 Add ondisk sync backend (#1443)
This commit adds remote sync support to the ondisk backend. It uses
minio to support a number of cloud storage products as well as self
hosted minio servers.

RELEASE_NOTES=[FEATURE] Add remote sync support for the ondisk backend.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-07-10 08:42:56 +02:00
Dominik Schulz 745200baf8 Add custom branded progress bar (#1422)
RELEASE_NOTES=[ENHANCEMENT] New progress bar

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-06-16 23:29:11 +02:00
Dominik Schulz b5503d5f91 Add password rules and domain alias support (#1419)
This commit adds support for github.com/apple/password-manager-resources
and preliminary support for managing domain aliases.

Fixes #1416
Fixes #682

RELEASE_NOTES=[FEATURE] Add Password Rules and Domain Alias support.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-06-15 22:26:54 +02:00
Dominik Schulz 0cfa536d28 Add debug package (#1396)
This commit adds a new debug package to gopass.
It is heavily inspired by github.com/restic/restic/internal/debug
and adapted for the gopass use case.

This change allows to further trim down the source code since the
new package doesn't propagate the debug flag in the context anymore.
As such we can now omit passing ctx in most places.

In order to ensure we don't accidentially keep passing ununsed
parameters we also introduce unparam to check for extra arguments.

RELEASE_NOTES=[ENHANCEMENT] New Debug package

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-05-29 13:47:35 +02:00
Dominik Schulz 4754c8f439 Cleanup travis config (#1389)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-05-26 07:47:05 +02:00