Commit Graph

106 Commits

Author SHA1 Message Date
kolaente fec1c038ff fix: use in-memory SQLite and log temp directory cleanup in test:e2e
Switch from file-based SQLite to VIKUNJA_DATABASE_PATH=memory which uses
file::memory:?cache=shared. Also add a visible log line when cleaning up
the temp directory so the teardown sequence is clear.
2026-02-21 22:32:09 +01:00
kolaente d00851292d fix: use preview:dev for correct dist dir and kill process groups in test:e2e
- build:dev outputs to dist-dev/ but preview serves from dist/,
  so use preview:dev which serves from dist-dev/
- pnpm spawns child processes, so SIGINT only hits the wrapper;
  use setpgid + kill(-pgid) to terminate the entire process group
2026-02-21 22:32:09 +01:00
kolaente 51a9f9c9f8 fix: fix API_URL trailing slash and remove CORS env var overrides in test:e2e
The API_URL needs a trailing slash so Playwright resolves relative URLs
correctly (e.g. "test/users" → "/api/v1/test/users" instead of
"/api/test/users"). CORS env vars are removed because Viper parses
comma-separated env vars as a single string instead of a slice, breaking
origin matching. The defaults already include the correct patterns.
2026-02-21 22:32:09 +01:00
kolaente c5ae7974e1 feat: add mage test:e2e for isolated end-to-end testing 2026-02-21 22:32:09 +01:00
kolaente 50983a9bb2
fix(build): use absolute path for zip output in release
The zip command in Release.Zip() sets its working directory to the
release subfolder but used a relative output path, causing it to
resolve against the wrong directory. This was a latent bug surfaced
by e19a61479 which removed the global RootPath variable.

Fix by resolving the zip output path to an absolute path using
os.Getwd() at the start of the function.
2026-02-18 17:05:40 +01:00
John Starich 122ba30339 fix: replace stray panic with return err 2026-02-17 18:01:05 +01:00
John Starich b2715bb56d refactor: use Go idioms for running tests 2026-02-17 18:01:05 +01:00
John Starich c773e2e828 refactor: switch to native filepath.Walk for gofmt file discovery 2026-02-17 18:01:05 +01:00
John Starich d8983b740a refactor: return errors to Mage instead of os.Exit and stream to stdout/stderr 2026-02-17 18:01:05 +01:00
John Starich fc0e0f5ea0 feat: toggle test verbosity based on Mage verbose flag 2026-02-17 18:01:05 +01:00
John Starich 8dbff21834 fix: add missing error checks in filepath.Walk and defer Close locations 2026-02-17 18:01:05 +01:00
John Starich e19a61479e refactor: remove root path in favor of Magefile default directory 2026-02-17 18:01:05 +01:00
John Starich cba5f6b2f4 style: fix doc comments to match godoc style 2026-02-17 18:01:05 +01:00
John Starich 65ef54f623 style: run gofmt -s to update octal literals 2026-02-17 18:01:05 +01:00
kolaente c2a132d56d fix(build): add osusergo tag to plugin build
Applies the same osusergo build tag fix from a1d5b634b to the plugin
build to prevent SIGFPE crashes under systemd.
2026-02-09 16:18:49 +01:00
kolaente ae3dd6923b fix(build): normalize comma-separated TAGS to prevent build failure 2026-02-05 23:57:28 +01:00
kolaente a1d5b634b9 fix(build): add osusergo tag to prevent SIGFPE crash under systemd
When running Vikunja as a systemd service without HOME set, the AWS SDK's
init() function calls os/user.Current() which uses CGO's getpwuid_r().
This can cause a SIGFPE crash in certain restricted environments.

Adding the osusergo build tag forces Go to use its pure implementation
that parses /etc/passwd directly, avoiding the problematic CGO call.

Fixes #2170
2026-02-05 23:38:25 +01:00
kolaente ee4b5a63f4 feat(dev): add mage command to release 2026-01-24 20:41:21 +01:00
kolaente 5050cd7162 chore(dev): add prepare worktree command to mage 2026-01-24 18:32:23 +01:00
kolaente 541a38456e
chore(deps): update golangci-lint to 2.6.0 (#1737) 2025-10-31 17:28:52 +00:00
kolaente 74189b6cf9
chore: update magefile to reference up to date golangci lint 2025-09-10 13:54:59 +02:00
kolaente a81a3ee0e5
feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
kolaente b08b43953b feat(plugins): add rudimentary plugin system 2025-08-01 17:06:02 +02:00
kolaente e7a4d9f180
Allow filtering tests from mage (#1072) 2025-07-02 20:41:25 +00:00
Dominik Pschenitschni 342bbd6192 fix: correct comments 2025-07-02 17:46:21 +02:00
kolaente c402ee9b23
fix(dev): ensure frontend assets before compile in magefile (#992) 2025-06-22 19:18:01 +00:00
kolaente 6671ce38a8
chore: rename API test suites (#938) 2025-06-13 08:23:17 +00:00
kolaente 8d5c665781
feat(dev): allow passing struct name to dev:make-migration mage command (#931) 2025-06-12 11:06:07 +00:00
Dominik Pschenitschni 296577a875
fix: correct license header references (#882)
See originals:
- https://www.gnu.org/licenses/agpl-3.0.txt
- https://www.gnu.org/licenses/gpl-3.0.txt
2025-06-10 12:18:38 +02:00
kolaente c32a026ab6
chore(dev): add test:all mage command 2025-05-25 22:46:10 +02:00
kolaente e70a3c33ba
fix(build): prepare xgo once during release
Otherwise each release step will pull the image, which makes for a lot of duplication
2025-05-13 16:37:02 +02:00
kolaente 34d6023248
feat: use GitHub actions for build and release 2025-03-26 16:23:38 +01:00
kolaente 8d9cf02d3e
fix(build): always use git tag for version number
Resolves ble-not-possible-version-number-does-not-start-with-digit/3371
2025-03-19 16:43:23 +01:00
kolaente 737cf529ae
fix(mage): do not check files in hidden directories 2025-03-18 21:21:53 +01:00
kolaente 250bb8ec99
fix(i18n): pass language to notification mail function 2025-03-02 12:29:31 +01:00
kolaente e11a3026b9
feat: translate notifications 2025-03-02 11:41:38 +01:00
kolaente 5e62c219d3
feat(build): add RELEASE_VERSION argument to be able to pass release version via env 2025-01-29 08:38:52 +01:00
kolaente 6fe22aba39
fix!: disable 368 releases
We can either support arm64 or 368 release binaries - because the arm64 binaries are probably wider used today, we'll prioritize that. It is still possible to compile Vikunja from source on a 368 system, but would take quite a bit of effort in providing pre-built binaries.
Please reach out if you need assistance for 368 binaries.

See https://github.com/techknowlogick/xgo/issues/256#issuecomment-2462135108
2024-11-07 14:41:47 +01:00
kolaente 14a3156465
fix(mage): actually pass the cli parameter to the function 2024-09-29 18:22:21 +02:00
kolaente 3c70bd630d
feat: generate yml config from json
This change introduces a more abstract way of managing the config, allowing us to generate it into yaml and markdoc for the website.
It also changes the distributed config to be all commented out so that people using it only comment in the values they need.
2024-09-22 14:37:31 +02:00
kolaente 0d9c03e0f2
chore(magefile): use tx.Sync instead of Sync2 2024-09-05 14:40:22 +02:00
kolaente 07bd9de0c6
feat(docker): add opencontainer labels
Resolves https://github.com/go-vikunja/vikunja/issues/308
2024-08-29 11:19:21 +02:00
Dominik Pschenitschni eb0f1a977b fix(semver): fix produced version number (#2378)
The "+" is not compatible and leads to problems with semver version parsers.
Unsure if breaking?

Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2378
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-committed-by: Dominik Pschenitschni <mail@celement.de>
2024-06-13 14:22:12 +00:00
renovate d7fdefcead chore(deps): update golangci/golangci-lint docker tag to v1.56.2 (#2099)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2099
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-03-10 13:47:19 +00:00
viehlieb ed4da96ab1 feat: assign users to teams via OIDC claims (#1393)
This change adds the ability to sync teams via a custom openid claim. Vikunja will automatically create and delete teams as necessary, it will also add and remove users when they log in. These teams are fully managed by Vikunja and cannot be updated by a user.

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/1393
Resolves https://kolaente.dev/vikunja/vikunja/issues/1279
Resolves https://github.com/go-vikunja/vikunja/issues/42
Resolves https://kolaente.dev/vikunja/vikunja/issues/950
Co-authored-by: viehlieb <pf@pragma-shift.net>
Co-committed-by: viehlieb <pf@pragma-shift.net>
2024-03-02 08:47:10 +00:00
kolaente 5d127c2897 feat: run frontend tests with api build from the same branch (#2137)
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2137
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2024-02-27 18:06:34 +00:00
kolaente 827c43fe12
chore(magefile): add aliases for lint 2024-02-14 15:05:11 +01:00
kolaente 1984527fae
docs: adjust documentation to reflect single-binary deployments 2024-02-09 19:09:19 +01:00
kolaente c05f51b923
chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
kolaente 56625b0b90
fix: lint 2023-10-10 20:35:43 +02:00