From de8a08ca2d6598e25e1cd91e48360aa1a4621b9a Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Sat, 28 Mar 2026 08:16:19 -0700 Subject: [PATCH] Fix build instructions: never use make forgejo directly make forgejo rebuilds with empty TAGS, stripping SQLite support. Updated docs and role to use mise run build instead, which wraps make build with the correct tags and creates the hardlink. Co-Authored-By: Claude Opus 4.6 (1M context) --- ansible/roles/forgejo/tasks/main.yml | 11 ++++------- docs/reference/services/forgejo.md | 9 ++++++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ansible/roles/forgejo/tasks/main.yml b/ansible/roles/forgejo/tasks/main.yml index 1877731..7cafb12 100644 --- a/ansible/roles/forgejo/tasks/main.yml +++ b/ansible/roles/forgejo/tasks/main.yml @@ -9,13 +9,10 @@ # 2. Add forge mirror as secondary remote: # ssh indri 'cd ~/code/3rd/forgejo && git remote add forge https://forge.eblu.me/mirrors/forgejo.git' # -# 3. Set up Go and Node via mise: -# ssh indri 'cd ~/code/3rd/forgejo && mise use go@1.25 node@24' +# 3. Build (mise.toml handles Go/Node versions and build tags): +# ssh indri 'cd ~/code/3rd/forgejo && mise run build' # -# 4. Build: -# ssh indri 'cd ~/code/3rd/forgejo && TAGS="bindata timetzdata sqlite sqlite_unlock_notify" mise x -- make build && mise x -- make forgejo' -# -# 5. Run ansible to deploy config and LaunchAgent +# 4. Run ansible to deploy config and LaunchAgent # # Secrets (lfs_jwt_secret, internal_token, oauth2_jwt_secret) are fetched # from 1Password in the playbook pre_tasks. @@ -30,7 +27,7 @@ msg: | Forgejo binary not found at {{ forgejo_binary }}. Please build from source first: - ssh indri 'cd ~/code/3rd/forgejo && TAGS="bindata timetzdata sqlite sqlite_unlock_notify" mise x -- make build && mise x -- make forgejo' + ssh indri 'cd ~/code/3rd/forgejo && mise run build' when: not forgejo_binary_stat.stat.exists - name: Ensure forgejo config directory exists diff --git a/docs/reference/services/forgejo.md b/docs/reference/services/forgejo.md index dcd0878..fbbc506 100644 --- a/docs/reference/services/forgejo.md +++ b/docs/reference/services/forgejo.md @@ -45,11 +45,14 @@ ssh indri 'cd ~/code/3rd/forgejo && git remote add forge https://forge.eblu.me/m ```fish ssh indri 'cd ~/code/3rd/forgejo && git fetch --tags && git checkout v14.0.3' -ssh indri 'cd ~/code/3rd/forgejo && mise use go@1.25 node@24' -ssh indri 'cd ~/code/3rd/forgejo && TAGS="bindata timetzdata sqlite sqlite_unlock_notify" mise x -- make build && mise x -- make forgejo' +ssh indri 'cd ~/code/3rd/forgejo && mise run build' ``` -Build tags: `bindata` (embed assets), `timetzdata` (embed timezone data), `sqlite sqlite_unlock_notify` (SQLite support). The `make build` target produces `./gitea`; `make forgejo` creates a `./forgejo` hardlink. +The `build` mise task (defined in the repo's `mise.toml`) runs `make build` with the correct tags and creates the `./forgejo` hardlink. It uses `go@1.25.8` and `node@24` as configured by `mise use`. + +**WARNING:** Do NOT use `make forgejo` directly — it rebuilds with empty TAGS, stripping SQLite support. Always use `mise run build` or pass TAGS explicitly to `make build` and `ln -f gitea forgejo` afterwards. + +Build tags: `bindata` (embed assets), `timetzdata` (embed timezone data), `sqlite sqlite_unlock_notify` (SQLite support). After building, run `mise run provision-indri -- --tags forgejo` to deploy the config and restart the service.