Commit Graph

113 Commits

Author SHA1 Message Date
John Starich
0a1104b75c refactor: fix contextcheck lint errors on magefile by passing mage context 2026-03-06 10:11:23 +01:00
John Starich
cea8c7807d refactor: enable golangci-lint on magefile, fix errors 2026-03-06 10:11:23 +01:00
kolaente
24b800d48d feat: add mage test:e2e-api target for e2e API tests 2026-03-05 12:49:27 +01:00
kolaente
0792b3d8b7 feat(release): update frontend package.json version on release
Closes #892
2026-03-03 11:49:04 +01:00
kolaente
963990ce76 feat(dev): print commit statistics during tag-release 2026-02-25 13:45:04 +01:00
kolaente
cb091f981d test: add e2e tests for session refresh and retry interceptor
- Verifies transparent retry and JWT rotation on 401 with code 11
- Verifies no retry for 401 with non-JWT error code
- Verifies current session appears on sessions settings page
- Increases rate limit for e2e test API to prevent 429 errors
2026-02-25 10:30:25 +01:00
kolaente
edae87f2a0 fix(release): skip upx compression for windows arm64 binaries
UPX 5.0.0 does not support win64/arm64, causing CantPackException
and failing the release build.
2026-02-24 14:40:40 +01:00
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