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