Compare commits

..
174 Commits
Author SHA1 Message Date
jcabillot 7ad5090715 Merge pull request 'feat: migrate to OpenCode 2 (@opencode/cli 2.0.32)' (#75) from feat/opencode-v2 into main
Main Release / test (push) Successful in 2m36s
Main Release / build (push) Successful in 2m42s
Renovate / renovate (push) Successful in 48s
Tag Release / build-push (push) Successful in 4m35s
Main Release / hadolint (push) Successful in 31s
Main Release / tag (push) Successful in 17s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 3m14s
Reviewed-on: #75
2026-10-17 15:38:12 -04:00
OpenCode Cabillot c2c0a81547 feat: migrate to OpenCode 2
PR Checks / hadolint (pull_request) Successful in 12s
PR Checks / build-test (pull_request) Successful in 3m14s
OpenCode 2 publishes its CLI as @opencode/cli (opencode-ai stops at
1.19.x), so install that package and pin it to 2.0.32.

Also fix what the v2 migration invalidates:
- renovate.json: track @opencode/cli instead of opencode-ai, otherwise
  the pin is never bumped.
- opencode-attach: `opencode attach` no longer exists in v2. Point the
  client at the server with `--server <url>` instead (appended after a
  subcommand when one is given); auth still comes from
  OPENCODE_SERVER_PASSWORD / OPENCODE_PASSWORD.
- README/AGENTS: v2 package name, entrypoint, serve defaults, API
  surface (/global/health is gone, everything lives under authenticated
  /api/*), and removal of OPENCODE_SERVER_USERNAME (the username is
  always `opencode` in v2).

The entrypoint stays ["opencode"] on purpose: existing deployments pass
`serve ...` at runtime, and OpenCode 2 is invoked the same way.
2026-10-17 19:28:14 +00:00
opencodecabilloteu 82cfa4af95 Merge pull request 'chore(deps): update dependency opencode-ai to v1.19.0' (#74) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 29s
Main Release / build (push) Successful in 30s
Renovate / renovate (push) Successful in 3m1s
Tag Release / build-push (push) Successful in 4m28s
Main Release / hadolint (push) Successful in 17s
Main Release / tag (push) Successful in 50s
Tag Release / hadolint (push) Successful in 22s
Tag Release / test (push) Successful in 33s
2026-10-13 22:30:30 -04:00
renovate 1e89da3914 chore(deps): update dependency opencode-ai to v1.19.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 23s
PR Checks / build-test (pull_request) Successful in 3m2s
2026-10-14 02:14:01 +00:00
opencodecabilloteu d47c09fb0d Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.35' (#73) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 4m21s
Main Release / build (push) Successful in 1m2s
Renovate / renovate (push) Successful in 54s
Tag Release / build-push (push) Failing after 1m6s
Main Release / hadolint (push) Successful in 17s
Main Release / tag (push) Successful in 45s
Tag Release / hadolint (push) Successful in 8s
Tag Release / test (push) Successful in 3m44s
2026-10-09 17:30:23 -04:00
renovate 93382d933c chore(deps): update dependency opencode-ai to v1.18.35
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 17s
PR Checks / build-test (pull_request) Successful in 4m19s
2026-10-09 21:13:45 +00:00
jcabillot d2edf88fd5 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.34' (#72) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 6m10s
Main Release / build (push) Successful in 7m13s
Renovate / renovate (push) Successful in 1m16s
Tag Release / build-push (push) Successful in 8m22s
Main Release / hadolint (push) Successful in 30s
Main Release / tag (push) Successful in 32s
Tag Release / hadolint (push) Successful in 20s
Tag Release / test (push) Successful in 7m34s
Reviewed-on: #72
2026-10-04 12:59:10 -04:00
renovate 8950a5db5d chore(deps): update dependency opencode-ai to v1.18.34
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 29s
PR Checks / build-test (pull_request) Successful in 6m18s
2026-10-03 23:22:01 +00:00
jcabillot 0025eb9443 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.33' (#71) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 55s
Main Release / build (push) Successful in 1m5s
Renovate / renovate (push) Successful in 2m20s
Main Release / tag (push) Successful in 42s
Tag Release / build-push (push) Successful in 6m58s
Main Release / hadolint (push) Successful in 30s
Tag Release / hadolint (push) Successful in 36s
Tag Release / test (push) Successful in 1m6s
Reviewed-on: #71
2026-10-01 07:27:13 -04:00
renovate 7a128d3079 chore(deps): update dependency opencode-ai to v1.18.33
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 26s
PR Checks / build-test (pull_request) Successful in 5m58s
2026-10-01 05:21:14 +00:00
jcabillot b6331a5368 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.32' (#70) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m14s
Main Release / build (push) Successful in 25s
Renovate / renovate (push) Successful in 50s
Tag Release / build-push (push) Successful in 3m11s
Main Release / hadolint (push) Successful in 13s
Main Release / tag (push) Successful in 15s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 22s
Reviewed-on: #70
2026-09-25 14:51:01 -04:00
renovate ac669492e1 chore(deps): update dependency opencode-ai to v1.18.32
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 15s
PR Checks / build-test (pull_request) Successful in 2m49s
2026-09-25 00:12:15 +00:00
opencodecabilloteu 5a0d58a2ed Merge pull request 'chore(deps): update registry.k8s.io/kubectl docker tag to v1.37.1' (#69) from renovate/registry.k8s.io-kubectl-1.x into main
Main Release / test (push) Successful in 37s
Main Release / build (push) Successful in 27s
Renovate / renovate (push) Successful in 44s
Tag Release / build-push (push) Successful in 3m54s
Main Release / hadolint (push) Successful in 13s
Main Release / tag (push) Successful in 12s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 22s
2026-09-23 15:59:07 -04:00
renovate 58807422ae chore(deps): update registry.k8s.io/kubectl docker tag to v1.37.1
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 2m20s
2026-09-23 19:10:05 +00:00
opencodecabilloteu 87704514f8 Merge pull request 'chore(deps): update docker/setup-buildx-action digest to f87e599' (#68) from renovate/docker-setup-buildx-action-digest into main
Main Release / test (push) Successful in 22s
Main Release / build (push) Successful in 18s
Renovate / renovate (push) Successful in 50s
Tag Release / build-push (push) Successful in 3m27s
Main Release / hadolint (push) Successful in 9s
Main Release / tag (push) Successful in 15s
Tag Release / hadolint (push) Successful in 8s
Tag Release / test (push) Successful in 19s
2026-09-18 04:31:49 -04:00
renovate df15d0eb65 chore(deps): update docker/setup-buildx-action digest to f87e599
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 4m4s
2026-09-18 08:14:16 +00:00
opencodecabilloteu bdef22f8fa Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.31' (#67) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m33s
Main Release / build (push) Successful in 13s
Renovate / renovate (push) Successful in 42s
Tag Release / build-push (push) Successful in 3m55s
Main Release / hadolint (push) Successful in 10s
Main Release / tag (push) Successful in 10s
Tag Release / hadolint (push) Successful in 6s
Tag Release / test (push) Successful in 3m29s
2026-09-17 14:30:30 -04:00
renovate 5a1e1fd229 chore(deps): update dependency opencode-ai to v1.18.31
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 7s
PR Checks / build-test (pull_request) Successful in 3m56s
2026-09-17 18:10:27 +00:00
opencodecabilloteu 8fec07f316 Merge pull request 'chore(deps): update docker/build-push-action action to v7.4.0' (#66) from renovate/docker-build-push-action-7.x into main
Main Release / test (push) Successful in 6m5s
Main Release / build (push) Successful in 4m52s
Renovate / renovate (push) Successful in 51s
Tag Release / build-push (push) Successful in 5m50s
Main Release / hadolint (push) Successful in 11s
Main Release / tag (push) Successful in 11s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 20s
2026-09-17 05:32:01 -04:00
renovate 0e72d192c4 chore(deps): update docker/build-push-action action to v7.4.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 12s
PR Checks / build-test (pull_request) Successful in 31s
2026-09-17 09:16:15 +00:00
opencodecabilloteu c520cb9926 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.30' (#65) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m49s
Main Release / build (push) Successful in 22s
Renovate / renovate (push) Successful in 1m10s
Tag Release / build-push (push) Successful in 4m46s
Main Release / hadolint (push) Successful in 12s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 13s
Tag Release / test (push) Successful in 25s
2026-09-12 00:30:39 -04:00
renovate 15de535ff4 chore(deps): update dependency opencode-ai to v1.18.30
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 12s
PR Checks / build-test (pull_request) Successful in 3m10s
2026-09-12 04:12:45 +00:00
opencodecabilloteu 490b824a5c Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.29' (#64) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 10m21s
Main Release / build (push) Successful in 1m4s
Renovate / renovate (push) Successful in 3m37s
Tag Release / build-push (push) Successful in 7m53s
Main Release / hadolint (push) Successful in 38s
Main Release / tag (push) Successful in 40s
Tag Release / hadolint (push) Successful in 24s
Tag Release / test (push) Successful in 1m3s
2026-09-07 21:31:44 -04:00
renovate b113168344 chore(deps): update dependency opencode-ai to v1.18.29
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 37s
PR Checks / build-test (pull_request) Successful in 9m23s
2026-09-08 00:27:17 +00:00
opencodecabilloteu 99c50a0cc3 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.28' (#63) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 15m33s
Main Release / build (push) Successful in 1m11s
Renovate / renovate (push) In progress
Tag Release / build-push (push) Successful in 10m25s
Main Release / hadolint (push) Successful in 1m10s
Main Release / tag (push) Successful in 31s
Tag Release / hadolint (push) Successful in 36s
Tag Release / test (push) Successful in 1m23s
2026-09-07 12:31:02 -04:00
renovate 2c22741806 chore(deps): update dependency opencode-ai to v1.18.28
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 46s
PR Checks / build-test (pull_request) Successful in 7m36s
2026-09-07 16:18:57 +00:00
opencodecabilloteu ab342272b3 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.27' (#62) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 2m31s
Main Release / build (push) Successful in 2m10s
Renovate / renovate (push) Successful in 49s
Tag Release / build-push (push) Successful in 3m11s
Main Release / hadolint (push) Successful in 14s
Main Release / tag (push) Successful in 31s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 2m35s
2026-09-05 18:30:10 -04:00
renovate efe5f30b92 chore(deps): update dependency opencode-ai to v1.18.27
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 2m40s
2026-09-05 22:09:09 +00:00
opencodecabilloteu 10ed6108b4 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.26' (#61) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 5m16s
Main Release / build (push) Successful in 4m6s
Renovate / renovate (push) Successful in 2m48s
Tag Release / build-push (push) Successful in 5m11s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 52s
Tag Release / hadolint (push) Successful in 18s
Tag Release / test (push) Successful in 29s
2026-09-04 18:31:03 -04:00
renovate 4c1258305b chore(deps): update dependency opencode-ai to v1.18.26
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 27s
PR Checks / build-test (pull_request) Successful in 6m33s
2026-09-04 22:14:37 +00:00
jcabillot 299d5dbfad Merge pull request 'chore: remove legacy GitLab CI and Jenkins files' (#60) from ci/remove-legacy-ci into main
Main Release / test (push) Successful in 42s
Main Release / build (push) Successful in 6m22s
Renovate / renovate (push) Successful in 1m55s
Tag Release / build-push (push) Successful in 6m16s
Main Release / hadolint (push) Successful in 22s
Main Release / tag (push) Successful in 34s
Tag Release / hadolint (push) Successful in 17s
Tag Release / test (push) Successful in 1m58s
Reviewed-on: #60
2026-09-02 09:50:13 -04:00
OpenCode Cabillot 259c67da7c chore: remove legacy GitLab CI and Jenkins files
PR Checks / hadolint (pull_request) Successful in 20s
PR Checks / build-test (pull_request) Successful in 7m3s
2026-09-02 13:48:30 +00:00
opencodecabilloteu b9067da569 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.25' (#59) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 2m49s
Main Release / build (push) Successful in 24s
Renovate / renovate (push) Successful in 53s
Tag Release / build-push (push) Successful in 3m45s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 2m54s
2026-08-31 02:30:43 -04:00
renovate 334846fe11 chore(deps): update dependency opencode-ai to v1.18.25
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 17s
PR Checks / build-test (pull_request) Successful in 2m57s
2026-08-31 06:08:54 +00:00
opencodecabilloteu 388ec9816a Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.24' (#58) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m1s
Main Release / build (push) Successful in 3m6s
Renovate / renovate (push) Successful in 55s
Tag Release / build-push (push) Successful in 4m11s
Main Release / hadolint (push) Successful in 13s
Main Release / tag (push) Successful in 23s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 34s
2026-08-31 00:30:39 -04:00
renovate 70affd5187 chore(deps): update dependency opencode-ai to v1.18.24
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 17s
PR Checks / build-test (pull_request) Successful in 3m11s
2026-08-31 04:09:52 +00:00
opencodecabilloteu 5817dc0a7f Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.23' (#57) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m12s
Main Release / build (push) Successful in 23s
Renovate / renovate (push) Successful in 1m6s
Tag Release / build-push (push) Successful in 3m34s
Main Release / hadolint (push) Successful in 21s
Main Release / tag (push) Successful in 15s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 2m39s
2026-08-28 03:30:29 -04:00
renovate bc864a7515 chore(deps): update dependency opencode-ai to v1.18.23
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 15s
PR Checks / build-test (pull_request) Successful in 2m58s
2026-08-28 07:08:28 +00:00
opencodecabilloteu ce463fb0cd Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.22' (#56) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m21s
Main Release / build (push) Successful in 22s
Renovate / renovate (push) Successful in 1m5s
Tag Release / build-push (push) Successful in 3m35s
Main Release / hadolint (push) Successful in 14s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 2m47s
2026-08-27 11:31:14 -04:00
renovate 729b0d6985 chore(deps): update dependency opencode-ai to v1.18.22
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 16s
PR Checks / build-test (pull_request) Successful in 2m52s
2026-08-27 15:08:46 +00:00
opencodecabilloteu 97bf560e90 Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.5.0' (#55) from renovate/hadolint-hadolint-action-3.x into main
Main Release / test (push) Successful in 56s
Main Release / build (push) Successful in 31s
Renovate / renovate (push) Successful in 1m39s
Tag Release / build-push (push) Successful in 5m19s
Main Release / hadolint (push) Successful in 40s
Main Release / tag (push) Successful in 21s
Tag Release / hadolint (push) Successful in 13s
Tag Release / test (push) Successful in 1m1s
2026-08-26 11:31:28 -04:00
renovate 58d4a03801 chore(deps): update hadolint/hadolint-action action to v3.5.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 20s
PR Checks / build-test (pull_request) Successful in 41s
2026-08-26 15:18:17 +00:00
opencodecabilloteu 965d527fce Merge pull request 'chore(deps): update registry.k8s.io/kubectl docker tag to v1.37.0' (#54) from renovate/registry.k8s.io-kubectl-1.x into main
Main Release / test (push) Successful in 45s
Main Release / build (push) Successful in 32s
Renovate / renovate (push) Successful in 1m12s
Tag Release / build-push (push) Successful in 5m5s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 17s
Tag Release / hadolint (push) Successful in 15s
Tag Release / test (push) Successful in 29s
2026-08-26 10:32:40 -04:00
renovate 2644ada892 chore(deps): update registry.k8s.io/kubectl docker tag to v1.37.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 21s
PR Checks / build-test (pull_request) Successful in 5m58s
2026-08-26 14:12:46 +00:00
opencodecabilloteu f950f8dfde Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.21' (#52) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 24s
Main Release / build (push) Successful in 3m10s
Renovate / renovate (push) Successful in 1m8s
Tag Release / build-push (push) Successful in 4m16s
Main Release / hadolint (push) Successful in 15s
Main Release / tag (push) Successful in 23s
Tag Release / hadolint (push) Successful in 18s
Tag Release / test (push) Successful in 30s
2026-08-24 11:30:50 -04:00
renovate 28fbfd37b9 chore(deps): update dependency opencode-ai to v1.18.21
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 18s
PR Checks / build-test (pull_request) Successful in 3m43s
2026-08-24 15:12:21 +00:00
opencodecabilloteu 81ab64ed3c Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.20' (#51) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 2m59s
Main Release / build (push) Successful in 26s
Renovate / renovate (push) Successful in 1m4s
Tag Release / build-push (push) Successful in 4m3s
Main Release / hadolint (push) Successful in 15s
Main Release / tag (push) Successful in 13s
Tag Release / hadolint (push) Successful in 11s
Tag Release / test (push) Successful in 3m5s
2026-08-24 05:30:41 -04:00
renovate 8147f8b028 chore(deps): update dependency opencode-ai to v1.18.20
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 19s
PR Checks / build-test (pull_request) Successful in 3m1s
2026-08-24 09:08:36 +00:00
opencodecabilloteu 972250e763 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.19' (#50) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 4m4s
Main Release / build (push) Successful in 3m54s
Renovate / renovate (push) Successful in 1m4s
Tag Release / build-push (push) Successful in 4m49s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 44s
Tag Release / hadolint (push) Successful in 18s
Tag Release / test (push) Successful in 35s
2026-08-23 03:31:09 -04:00
renovate 02fb2aac7e chore(deps): update dependency opencode-ai to v1.18.19
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 19s
PR Checks / build-test (pull_request) Successful in 4m28s
2026-08-23 07:12:26 +00:00
opencodecabilloteu 5b832857d3 Merge pull request 'chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.4' (#48) from renovate/registry.k8s.io-kubectl-1.x into main
Main Release / test (push) Successful in 1m4s
Main Release / build (push) Successful in 36s
Renovate / renovate (push) Successful in 1m22s
Tag Release / build-push (push) Failing after 15m54s
Main Release / hadolint (push) Successful in 21s
Main Release / tag (push) Successful in 34s
Tag Release / hadolint (push) Successful in 15s
Tag Release / test (push) Successful in 30s
2026-08-22 14:07:49 -04:00
renovate 3a5767c778 chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.4
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 4m42s
PR Checks / hadolint (pull_request) Successful in 15s
2026-08-21 10:46:36 +00:00
opencodecabilloteu 05356de220 Merge pull request 'chore(deps): update docker/setup-buildx-action digest to 37fe631' (#49) from renovate/docker-setup-buildx-action-digest into main
Main Release / test (push) Successful in 44s
Main Release / build (push) Successful in 34s
Renovate / renovate (push) Successful in 1m49s
Tag Release / build-push (push) Successful in 8m59s
Main Release / hadolint (push) Failing after 11m19s
Main Release / tag (push) Successful in 31s
Tag Release / hadolint (push) Successful in 20s
Tag Release / test (push) Successful in 51s
2026-08-21 06:35:08 -04:00
renovate b7d20a4574 chore(deps): update docker/setup-buildx-action digest to 37fe631
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 19s
PR Checks / build-test (pull_request) Successful in 41s
2026-08-21 10:24:33 +00:00
opencodecabilloteu 8193ff0b8e Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.18' (#47) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m5s
Main Release / build (push) Successful in 29s
Renovate / renovate (push) Successful in 57s
Tag Release / build-push (push) Successful in 4m13s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 16s
Tag Release / hadolint (push) Successful in 17s
Tag Release / test (push) Successful in 26s
2026-08-15 22:31:26 -04:00
renovate 3a8e17c588 chore(deps): update dependency opencode-ai to v1.18.18
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 17s
PR Checks / build-test (pull_request) Successful in 3m35s
2026-08-16 02:09:57 +00:00
opencodecabilloteu 5d08c60ae8 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.17' (#46) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m36s
Main Release / build (push) Successful in 3m41s
Renovate / renovate (push) Successful in 1m50s
Tag Release / build-push (push) Successful in 5m44s
Main Release / hadolint (push) Successful in 18s
Main Release / tag (push) Successful in 49s
Tag Release / hadolint (push) Successful in 12s
Tag Release / test (push) Successful in 34s
2026-08-15 17:31:03 -04:00
renovate d0a73e0382 chore(deps): update dependency opencode-ai to v1.18.17
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 22s
PR Checks / build-test (pull_request) Successful in 5m22s
2026-08-15 21:08:24 +00:00
opencodecabilloteu 748dc80132 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.16' (#45) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m30s
Main Release / build (push) Successful in 3m37s
Renovate / renovate (push) Successful in 1m44s
Main Release / hadolint (push) Successful in 25s
Main Release / tag (push) Failing after 10m35s
2026-08-13 02:30:52 -04:00
renovate d25750c3ed chore(deps): update dependency opencode-ai to v1.18.16
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 23s
PR Checks / build-test (pull_request) Successful in 3m47s
2026-08-13 06:16:40 +00:00
opencodecabilloteu 0bcd270a29 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.15' (#44) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 2m53s
Main Release / build (push) Successful in 28s
Renovate / renovate (push) Successful in 1m12s
Tag Release / build-push (push) Successful in 3m57s
Main Release / hadolint (push) Successful in 20s
Main Release / tag (push) Successful in 17s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 2m46s
2026-08-10 03:31:36 -04:00
renovate 66724742ff chore(deps): update dependency opencode-ai to v1.18.15
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 18s
PR Checks / build-test (pull_request) Successful in 3m9s
2026-08-10 07:11:06 +00:00
opencodecabilloteu c7a99ce38f Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.14' (#43) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m51s
Main Release / build (push) Successful in 33s
Renovate / renovate (push) Successful in 1m27s
Tag Release / build-push (push) Successful in 4m51s
Main Release / hadolint (push) Successful in 25s
Main Release / tag (push) Successful in 21s
Tag Release / hadolint (push) Successful in 15s
Tag Release / test (push) Successful in 3m49s
2026-08-08 17:30:29 -04:00
renovate 94e9b565aa chore(deps): update dependency opencode-ai to v1.18.14
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 35s
PR Checks / build-test (pull_request) Successful in 5m26s
2026-08-08 21:13:24 +00:00
opencodecabilloteu d5465b2827 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.13' (#42) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m55s
Main Release / build (push) Successful in 33s
Renovate / renovate (push) Successful in 1m56s
Tag Release / build-push (push) Successful in 5m22s
Main Release / hadolint (push) Successful in 27s
Main Release / tag (push) Successful in 21s
Tag Release / hadolint (push) Successful in 23s
Tag Release / test (push) Successful in 38s
2026-08-07 08:30:26 -04:00
renovate 845ea29e47 chore(deps): update dependency opencode-ai to v1.18.13
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 27s
PR Checks / build-test (pull_request) Successful in 5m9s
2026-08-07 12:11:32 +00:00
opencodecabilloteu bb905b1515 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.12' (#41) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m27s
Main Release / build (push) Successful in 29s
Renovate / renovate (push) Successful in 1m22s
Tag Release / build-push (push) Successful in 5m10s
Main Release / hadolint (push) Successful in 21s
Main Release / tag (push) Successful in 21s
Tag Release / hadolint (push) Successful in 18s
Tag Release / test (push) Successful in 34s
2026-08-06 21:30:46 -04:00
renovate d4df3c41f3 chore(deps): update dependency opencode-ai to v1.18.12
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 16s
PR Checks / build-test (pull_request) Successful in 4m0s
2026-08-07 01:10:32 +00:00
opencodecabilloteu b0d540900a Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.11' (#40) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 4m38s
Main Release / build (push) Successful in 4m40s
Renovate / renovate (push) Successful in 1m41s
Tag Release / build-push (push) Successful in 5m2s
Main Release / hadolint (push) Successful in 15s
Main Release / tag (push) Successful in 26s
Tag Release / hadolint (push) Successful in 16s
Tag Release / test (push) Successful in 3m14s
2026-08-04 08:30:59 -04:00
renovate 4c3f1b67a3 chore(deps): update dependency opencode-ai to v1.18.11
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 21s
PR Checks / build-test (pull_request) Successful in 4m25s
2026-08-04 12:09:51 +00:00
jcabillot fc5e0a0f78 Merge pull request 'ci: add Renovate workflow' (#39) from add-renovate-workflow into main
Main Release / test (push) Successful in 11m52s
Main Release / build (push) Successful in 8m22s
Renovate / renovate (push) Successful in 3m31s
Tag Release / build-push (push) Failing after 15m45s
Main Release / hadolint (push) Successful in 20s
Main Release / tag (push) Successful in 1m33s
Tag Release / test (push) Successful in 59s
Tag Release / hadolint (push) Successful in 47s
Reviewed-on: #39
2026-08-03 16:16:11 -04:00
OpenCode Cabillot fe4dc7c97c ci: add Renovate workflow
PR Checks / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 23s
2026-08-02 23:47:33 +00:00
opencodecabilloteu 5f242199e1 Merge pull request 'chore(deps): update hadolint/hadolint-action action to v3.4.0' (#36) from renovate/hadolint-hadolint-action-3.x into main
Main Release / test (push) Successful in 4m51s
Main Release / build (push) Successful in 4m20s
Tag Release / build-push (push) Successful in 8m15s
Main Release / hadolint (push) Successful in 36s
Main Release / tag (push) Successful in 40s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 33s
2026-08-02 13:06:51 -04:00
renovate fba9779e2e chore(deps): update hadolint/hadolint-action action to v3.4.0
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 23s
PR Checks / build-test (pull_request) Successful in 1m22s
2026-08-02 16:59:51 +00:00
jcabillot 2c70f3160d Merge pull request 'fix: ignore hadolint DL3066 for non-numeric USER' (#38) from fix/hadolint-dl3066 into main
Main Release / test (push) Successful in 26s
Main Release / build (push) Successful in 27s
Tag Release / build-push (push) Successful in 7m59s
Main Release / hadolint (push) Successful in 13s
Main Release / tag (push) Successful in 17s
Tag Release / hadolint (push) Successful in 18s
Tag Release / test (push) Successful in 4m31s
Reviewed-on: #38
2026-08-02 12:45:10 -04:00
opencodecabilloteu bbf1a0e819 fix: ignore hadolint DL3066 for non-numeric USER
PR Checks / build-test (pull_request) Successful in 31s
PR Checks / hadolint (pull_request) Successful in 17s
2026-08-02 16:39:19 +00:00
opencodecabilloteu 38ba58c0ef Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.10' (#37) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 2m58s
Main Release / build (push) Successful in 2m57s
Tag Release / build-push (push) Successful in 3m39s
Main Release / hadolint (push) Successful in 14s
Main Release / tag (push) Successful in 1m28s
Tag Release / hadolint (push) Successful in 14s
Tag Release / test (push) Successful in 3m4s
2026-08-02 11:30:35 -04:00
renovate 0331134627 chore(deps): update dependency opencode-ai to v1.18.10
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 3m4s
2026-08-02 15:07:54 +00:00
opencodecabilloteu 9c853aebd0 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.9' (#35) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 5m18s
Main Release / build (push) Successful in 4m52s
Tag Release / build-push (push) Successful in 4m27s
Main Release / hadolint (push) Successful in 26s
Main Release / tag (push) Successful in 23s
Tag Release / hadolint (push) Successful in 33s
Tag Release / test (push) Successful in 3m21s
2026-07-31 17:01:00 -04:00
renovate 989848c152 chore(deps): update dependency opencode-ai to v1.18.9
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 3m17s
2026-07-31 19:08:14 +00:00
opencodecabilloteu dc9de306fe Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.8' (#34) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m54s
Main Release / build (push) Successful in 4m6s
Tag Release / build-push (push) Successful in 4m59s
Main Release / hadolint (push) Successful in 15s
Main Release / tag (push) Successful in 36s
Tag Release / test (push) Successful in 26s
Tag Release / hadolint (push) Successful in 26s
2026-07-31 12:12:41 -04:00
renovate bb2d7d3277 chore(deps): update dependency opencode-ai to v1.18.8
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 27s
PR Checks / build-test (pull_request) Successful in 3m26s
2026-07-31 06:09:07 +00:00
opencodecabilloteu 9554fb2f01 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.7' (#33) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 39s
Main Release / build (push) Successful in 4m57s
Tag Release / build-push (push) Successful in 8m20s
Main Release / hadolint (push) Successful in 27s
Main Release / tag (push) Successful in 39s
Tag Release / hadolint (push) Successful in 24s
Tag Release / test (push) Successful in 30s
2026-07-30 11:35:18 -04:00
renovate 894e404e91 chore(deps): update dependency opencode-ai to v1.18.7
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 28s
PR Checks / build-test (pull_request) Successful in 11m11s
2026-07-30 09:12:20 +00:00
jcabillot 2d0dac515f Merge pull request 'chore(deps): update docker/login-action digest to dbcb813' (#32) from renovate/docker-login-action-digest into main
Main Release / test (push) Successful in 5m13s
Main Release / build (push) Successful in 10m15s
Main Release / hadolint (push) Successful in 15s
Main Release / tag (push) Failing after 4h18m47s
Reviewed-on: #32
2026-07-29 11:47:48 -04:00
jcabillot 7e17ea6eaf Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.5' (#31) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 22s
Main Release / build (push) Successful in 26s
Tag Release / build-push (push) Successful in 9m6s
Main Release / hadolint (push) Successful in 10s
Main Release / tag (push) Successful in 20s
Tag Release / hadolint (push) Successful in 49s
Tag Release / test (push) Successful in 18m3s
Reviewed-on: #31
2026-07-29 11:41:04 -04:00
renovate 6b25a1869a chore(deps): update docker/login-action digest to dbcb813
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 16s
PR Checks / build-test (pull_request) Successful in 5m27s
2026-07-29 13:11:34 +00:00
renovate e4e445eb6a chore(deps): update dependency opencode-ai to v1.18.5
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 9s
PR Checks / build-test (pull_request) Successful in 9m59s
2026-07-28 21:11:19 +00:00
jcabillot e81d208268 Merge pull request 'chore(deps): update docker/login-action digest to 371161b' (#29) from renovate/docker-login-action-digest into main
Main Release / test (push) Successful in 36s
Main Release / build (push) Successful in 12m54s
Tag Release / build-push (push) Successful in 15m10s
Main Release / hadolint (push) Successful in 25s
Main Release / tag (push) Successful in 1m17s
Tag Release / hadolint (push) Successful in 13s
Tag Release / test (push) Successful in 9m23s
Reviewed-on: #29
2026-07-28 16:51:37 -04:00
renovate 84d8aba532 chore(deps): update docker/login-action digest to 371161b
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 8s
PR Checks / build-test (pull_request) Successful in 15m24s
2026-07-28 08:11:16 +00:00
jcabillot 7b27457a51 Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.4' (#30) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 5m25s
Main Release / build (push) Successful in 23s
Main Release / hadolint (push) Successful in 9s
Main Release / tag (push) Failing after 3h0m1s
Reviewed-on: #30
2026-07-24 16:16:10 -04:00
renovate dc00e6fbe8 chore(deps): update dependency opencode-ai to v1.18.4
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 21s
PR Checks / build-test (pull_request) Successful in 5m11s
2026-07-23 16:11:41 +00:00
jcabillot a236c6253f Merge pull request 'chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.3' (#28) from renovate/registry.k8s.io-kubectl-1.x into main
Main Release / test (push) Successful in 28s
Main Release / build (push) Successful in 41s
Tag Release / build-push (push) Successful in 7m52s
Main Release / hadolint (push) Successful in 14s
Main Release / tag (push) Successful in 11s
Tag Release / hadolint (push) Successful in 11s
Tag Release / test (push) Successful in 55s
Reviewed-on: #28
2026-07-23 07:54:45 -04:00
renovate 4d2dfbd6b1 chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.3
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 13s
PR Checks / build-test (pull_request) Successful in 15m7s
2026-07-22 23:08:40 +00:00
jcabillot 94a296f98f Merge pull request 'chore(deps): update dependency opencode-ai to v1.18.3' (#26) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 7m26s
Main Release / build (push) Successful in 3m58s
Tag Release / build-push (push) Successful in 12m35s
Main Release / hadolint (push) Successful in 25s
Main Release / tag (push) Successful in 15s
Tag Release / hadolint (push) Successful in 16s
Tag Release / test (push) Successful in 8m52s
Reviewed-on: #26
2026-07-22 11:49:17 -04:00
renovate 0112a87b3c chore(deps): update dependency opencode-ai to v1.18.3
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 14s
PR Checks / build-test (pull_request) Successful in 7m10s
2026-07-22 12:09:47 +00:00
jcabillot c56c99ae39 Merge pull request 'chore(deps): update actions/checkout digest to 3d3c42e' (#27) from renovate/actions-checkout-digest into main
Main Release / test (push) Successful in 1m37s
Main Release / build (push) Successful in 11m15s
Tag Release / build-push (push) Successful in 10m43s
Main Release / hadolint (push) Successful in 8s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 11s
Tag Release / test (push) Successful in 4m55s
Reviewed-on: #27
2026-07-22 08:05:14 -04:00
renovate ab41e31352 chore(deps): update actions/checkout digest to 3d3c42e
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 17s
PR Checks / hadolint (pull_request) Successful in 11s
2026-07-20 16:11:52 +00:00
jcabillot f827375e0d Merge pull request 'chore(deps): update dependency opencode-ai to v1.17.19' (#25) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 1m43s
Main Release / tag (push) Successful in 12s
Main Release / build (push) Successful in 1m50s
Tag Release / test (push) Successful in 16s
Tag Release / build-push (push) Successful in 2m18s
Main Release / hadolint (push) Successful in 7s
Tag Release / hadolint (push) Successful in 8s
Reviewed-on: #25
2026-07-16 13:12:20 -04:00
renovate 6e7eef1eef chore(deps): update dependency opencode-ai to v1.17.19
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 1m54s
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-16 17:07:48 +00:00
jcabillot 5a4ad2f76e Merge pull request 'chore(deps): update node docker tag to v26' (#2) from renovate/node-26.x into main
Main Release / test (push) Successful in 1m35s
Main Release / tag (push) Successful in 9s
Main Release / build (push) Successful in 11s
Tag Release / test (push) Successful in 10s
Tag Release / build-push (push) Successful in 2m46s
Main Release / hadolint (push) Successful in 6s
Tag Release / hadolint (push) Successful in 6s
Reviewed-on: #2
2026-07-13 19:31:26 -04:00
Hermes Agent 9cf881a8fd fix: install better-sqlite3 globally, remove local copy in n2-soul
PR Checks / build-test (pull_request) Successful in 1m32s
PR Checks / hadolint (pull_request) Successful in 6s
npm 10+ rejects --allow-scripts in project-scoped (non-global) installs.
Install better-sqlite3@12.11.1 globally with --allow-scripts, then remove
the incompatible v11.10.0 from n2-soul's node_modules so Node.js resolves
the global v12.11.1 instead.
2026-07-13 23:28:16 +00:00
Hermes Agent 988bf26667 fix: install n2-soul with --ignore-scripts, then upgrade better-sqlite3
PR Checks / build-test (pull_request) Failing after 39s
PR Checks / hadolint (pull_request) Successful in 6s
n2-soul's npm install fails on Node 26 because its dependency
better-sqlite3@11.10.0 cannot compile (V8 API removed GetPrototype).
The subsequent upgrade to v12 never runs due to set -eux.

Fix: install n2-soul without scripts, then replace better-sqlite3
with v12.11.1 which has prebuilt binaries for Node 26.

open-code-ai is installed separately with scripts allowed.
2026-07-13 23:26:20 +00:00
Hermes Agent 523c39808f fix: suppress hadolint DL3003 for subshell cd pattern
PR Checks / build-test (pull_request) Failing after 2m26s
PR Checks / hadolint (pull_request) Successful in 7s
2026-07-13 23:21:19 +00:00
Hermes Agent 25ce5423ed fix: use subshell to avoid hadolint DL3003 warning
PR Checks / build-test (pull_request) Failing after 2m39s
PR Checks / hadolint (pull_request) Failing after 6s
2026-07-13 23:19:18 +00:00
Hermes Agent 6ccd634cd9 fix: upgrade better-sqlite3 to v12 for Node 26 compatibility
PR Checks / build-test (pull_request) Failing after 2m39s
PR Checks / hadolint (pull_request) Failing after 6s
n2-soul@9.0.9 depends on better-sqlite3@^11.10.0 which does not
support Node.js 26. The V8 API changed (GetPrototype removed in
favor of GetPrototypeV2), causing native compilation to fail.

Upgrade to better-sqlite3@12.11.1 which supports Node 26 and has
prebuilt binaries.
2026-07-13 23:18:25 +00:00
renovate cc86526f47 chore(deps): update node docker tag to v26
PR Checks / build-test (pull_request) Failing after 2m21s
PR Checks / hadolint (pull_request) Successful in 7s
2026-07-13 19:09:26 -04:00
jcabillot 9db78dcce5 Merge pull request 'chore(deps): update dependency opencode-ai to v1.17.18' (#23) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 3m13s
Main Release / tag (push) Successful in 9s
Main Release / build (push) Successful in 13s
Tag Release / test (push) Successful in 11s
Tag Release / build-push (push) Successful in 4m45s
Main Release / hadolint (push) Successful in 6s
Tag Release / hadolint (push) Successful in 6s
Reviewed-on: #23
2026-07-13 18:28:33 -04:00
renovate cb3f2e06a8 chore(deps): update dependency opencode-ai to v1.17.18
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 3m42s
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-13 22:23:47 +00:00
jcabillot f72c3513d4 Merge pull request 'fix: run opencode-ai postinstall script after npm install' (#24) from fix/opencode-postinstall into main
Main Release / test (push) Successful in 12s
Main Release / tag (push) Successful in 9s
Main Release / build (push) Successful in 11s
Tag Release / test (push) Successful in 3m9s
Tag Release / build-push (push) Successful in 4m25s
Main Release / hadolint (push) Successful in 6s
Tag Release / hadolint (push) Successful in 7s
Reviewed-on: #24
2026-07-13 18:17:39 -04:00
Hermes Agent 7dc7c4a043 fix: pass --allow-scripts to npm install for blocked postinstall
PR Checks / build-test (pull_request) Successful in 3m7s
PR Checks / hadolint (pull_request) Successful in 5s
The node:24-trixie base image has npm configured with a restricted
allowScripts list, preventing opencode-ai's postinstall from running.
Pass --allow-scripts=opencode-ai,better-sqlite3 to npm install -g to
explicitly allow these packages to run their install scripts.

This is the npm-recommended fix as shown in the npm warning message.
2026-07-13 20:52:32 +00:00
jcabillot 5fc43f11fc Merge pull request 'chore(deps): update dependency opencode-ai to v1.17.13' (#22) from renovate/opencode-ai-1.x into main
Main Release / test (push) Successful in 15s
Main Release / tag (push) Successful in 11s
Main Release / build (push) Successful in 3m32s
Tag Release / test (push) Successful in 3m44s
Tag Release / build-push (push) Successful in 4m22s
Main Release / hadolint (push) Failing after 13m19s
Tag Release / hadolint (push) Successful in 10s
Reviewed-on: #22
2026-07-06 15:09:19 -04:00
renovate ed90366d5f chore(deps): update dependency opencode-ai to v1.17.13
PR Checks / build-test (pull_request) Successful in 3m22s
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 7s
2026-07-06 19:06:04 +00:00
jcabillot d154e59703 Merge pull request 'chore(deps): update docker/login-action digest to af1e73f' (#21) from renovate/docker-login-action-digest into main
Main Release / test (push) Successful in 15s
Main Release / tag (push) Successful in 16s
Main Release / build (push) Successful in 22s
Tag Release / test (push) Successful in 23s
Tag Release / build-push (push) Successful in 4m59s
Main Release / hadolint (push) Failing after 11m7s
Tag Release / hadolint (push) Successful in 17s
Reviewed-on: #21
2026-07-03 16:20:17 -04:00
renovate f8ba177a2e chore(deps): update docker/login-action digest to af1e73f
PR Checks / build-test (pull_request) Successful in 3m45s
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 9s
2026-07-03 14:20:42 +00:00
jcabillot 24b948adbe Merge pull request 'chore(deps): update docker/metadata-action digest to dc80280' (#19) from renovate/docker-metadata-action-digest into main
Main Release / test (push) Successful in 16s
Main Release / tag (push) Successful in 14s
Main Release / build (push) Successful in 35s
Tag Release / test (push) Successful in 26s
Tag Release / build-push (push) Successful in 5m41s
Main Release / hadolint (push) Successful in 9s
Tag Release / hadolint (push) Successful in 10s
Reviewed-on: #19
2026-07-02 09:40:41 -04:00
renovate eefe852138 chore(deps): update docker/metadata-action digest to dc80280
PR Checks / build-test (pull_request) Successful in 15s
renovate/stability-days Updates have met minimum release age requirement
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-02 13:37:20 +00:00
jcabillot 2193f8dd86 Merge pull request 'chore(deps): update docker/login-action digest to c99871d' (#18) from renovate/docker-login-action-digest into main
Main Release / test (push) Successful in 23s
Main Release / tag (push) Successful in 12s
Main Release / build (push) Successful in 4m51s
Tag Release / test (push) Successful in 20s
Tag Release / build-push (push) Successful in 5m59s
Main Release / hadolint (push) Successful in 8s
Tag Release / hadolint (push) Successful in 13s
Reviewed-on: #18
2026-07-02 09:30:40 -04:00
renovate 74ae2d127d chore(deps): update docker/login-action digest to c99871d
renovate/stability-days Updates have met minimum release age requirement
PR Checks / build-test (pull_request) Successful in 4m1s
PR Checks / hadolint (pull_request) Successful in 13s
2026-07-02 12:47:10 +00:00
opencodecabilloteu 125ef4019a chore(deps): update docker/setup-buildx-action digest to bb05f3f
Main Release / test (push) Successful in 4m37s
Main Release / tag (push) Successful in 21s
Main Release / build (push) Successful in 21s
Tag Release / test (push) Successful in 20s
Tag Release / build-push (push) Successful in 5m29s
Main Release / hadolint (push) Successful in 13s
Tag Release / hadolint (push) Successful in 7s
chore(deps): update docker/setup-buildx-action digest to bb05f3f
2026-07-02 08:37:09 -04:00
renovate 97a808465d chore(deps): update docker/setup-buildx-action digest to bb05f3f
PR Checks / build-test (pull_request) Successful in 12s
PR Checks / hadolint (pull_request) Successful in 8s
2026-07-02 09:58:04 +00:00
jcabillot 4a2d9a3ac5 Merge pull request 'chore(deps): update docker/build-push-action action to v7.3.0' (#17) from renovate/docker-build-push-action-7.x into main
Main Release / test (push) Successful in 20s
Main Release / tag (push) Successful in 11s
Main Release / build (push) Successful in 3m52s
Tag Release / test (push) Successful in 16s
Tag Release / build-push (push) Successful in 4m43s
Main Release / hadolint (push) Successful in 10s
Tag Release / hadolint (push) Successful in 10s
Reviewed-on: #17
2026-07-01 16:23:16 -04:00
renovate 252bf9ff80 chore(deps): update docker/build-push-action action to v7.3.0
PR Checks / build-test (pull_request) Successful in 3m39s
PR Checks / hadolint (pull_request) Successful in 10s
2026-07-01 14:54:45 +00:00
jcabillot fe036a13a3 Merge pull request 'chore(deps): update actions/checkout action to v7' (#16) from renovate/actions-checkout-7.x into main
Main Release / test (push) Successful in 3m51s
Main Release / tag (push) Successful in 17s
Main Release / build (push) Successful in 15s
Tag Release / test (push) Successful in 25s
Tag Release / build-push (push) Successful in 5m27s
Main Release / hadolint (push) Successful in 9s
Tag Release / hadolint (push) Successful in 9s
Reviewed-on: #16
2026-06-18 16:22:45 -04:00
renovate da08f01944 chore(deps): update actions/checkout action to v7
PR Checks / build-test (pull_request) Successful in 3m16s
PR Checks / hadolint (pull_request) Successful in 9s
2026-06-18 15:30:16 +00:00
jcabillot 281e9236be Merge pull request 'CI: standardize workflows' (#15) from fix/workflow-standard into main
Main Release / test (push) Successful in 17s
Main Release / tag (push) Successful in 12s
Main Release / build (push) Successful in 15s
Tag Release / test (push) Successful in 21s
Tag Release / build-push (push) Successful in 5m3s
Main Release / hadolint (push) Successful in 9s
Tag Release / hadolint (push) Successful in 9s
Reviewed-on: #15
2026-06-13 22:16:10 -04:00
cloudix_mcp_server f6e0bea6c1 fix: remove test.sh step from pr.yaml (no tests/test.sh in repo)
PR Checks / build-test (pull_request) Successful in 13s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-13 20:25:42 -04:00
cloudix_mcp_server fae9b53009 fix: remove test.sh step from tag.yaml (no tests/test.sh in repo)
PR Checks / build-test (pull_request) Failing after 13s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-13 20:25:37 -04:00
cloudix_mcp_server 28149e6b0a fix: remove test.sh step from cron.yaml (no tests/test.sh in repo)
PR Checks / build-test (pull_request) Failing after 13s
PR Checks / hadolint (pull_request) Successful in 5s
2026-06-13 20:25:34 -04:00
cloudix_mcp_server 1a61961971 fix: remove test.sh step (not present in repo), correct structure
PR Checks / build-test (pull_request) Failing after 14s
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-13 20:23:09 -04:00
cloudix_mcp_server e7c1b553ed fix: correct build-push-action SHA in tag.yaml
PR Checks / build-test (pull_request) Failing after 17s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-13 19:05:17 -04:00
cloudix_mcp_server 3600839a03 fix: correct all action SHAs in pr.yaml
PR Checks / build-test (pull_request) Failing after 3m48s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-13 19:05:15 -04:00
cloudix_mcp_server 7dae5b1e9b fix: correct all action SHAs in main.yaml
PR Checks / build-test (pull_request) Failing after 3m52s
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-13 19:05:12 -04:00
cloudix_mcp_server 562610135c fix: correct build-push-action SHA in cron.yaml 2026-06-13 19:05:08 -04:00
Sagent 1a4c17a26c CI: standardize workflows
PR Checks / build-test (pull_request) Failing after 3m19s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-13 21:36:05 +00:00
jcabillot 45d3469376 Merge pull request 'fix(ci): use Gitea expression syntax for git auth token' (#14) from fix/tag-job-git-auth-v2 into main
Main Release / tag (push) Successful in 10s
Main Release / hadolint (push) Successful in 6s
Main Release / build-push (push) Successful in 3m54s
Reviewed-on: #14
2026-06-12 14:54:38 -04:00
cloudix_mcp_server ef0c472e28 fix(ci): use secrets.GITHUB_TOKEN in git auth step, not shell var
PR Checks / build (pull_request) Successful in 3m24s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-12 14:52:49 -04:00
jcabillot 0a620720b6 Merge pull request 'fix(ci): configure git auth for tag push in main workflow' (#13) from fix/tag-job-git-auth into main
Main Release / tag (push) Failing after 8s
Main Release / hadolint (push) Successful in 6s
Main Release / build-push (push) Successful in 4m21s
Reviewed-on: #13
2026-06-12 14:51:23 -04:00
cloudix_mcp_server 0a8ca9b751 fix(ci): configure git auth before tag push in main workflow
PR Checks / build (pull_request) Successful in 2m43s
PR Checks / hadolint (pull_request) Successful in 6s
2026-06-12 14:48:10 -04:00
jcabillot 7778ba4315 Merge pull request 'feat(ci): refactor pipelines — Hadolint, PR checks, tag releases, nightly rebuild' (#12) from fix/refactor-ci-pipelines into main
Main Release / tag (push) Failing after 9s
Main Release / hadolint (push) Successful in 8s
Main Release / build-push (push) Successful in 3m44s
Reviewed-on: #12
2026-06-12 14:37:23 -04:00
cloudix_mcp_server 850d6ed58c refactor(ci): decouple semver tagging from build on main push
PR Checks / build (pull_request) Successful in 3m23s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-12 14:32:52 -04:00
cloudix_mcp_server 88ab5fa893 refactor(ci): run Hadolint and build in parallel on cron
PR Checks / build (pull_request) Successful in 4m17s
PR Checks / hadolint (pull_request) Successful in 7s
2026-06-12 14:31:25 -04:00
cloudix_mcp_server fa685fd63e refactor(ci): run Hadolint and build in parallel on tag push 2026-06-12 14:31:17 -04:00
cloudix_mcp_server e1fab4f11f refactor(ci): run Hadolint and build in parallel on main push
PR Checks / build (pull_request) Successful in 4m0s
PR Checks / hadolint (pull_request) Failing after 13m32s
2026-06-12 14:31:10 -04:00
cloudix_mcp_server 0526268333 refactor(ci): run Hadolint and build in parallel on PR
PR Checks / build (pull_request) Successful in 2m46s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-12 14:28:29 -04:00
cloudix_mcp_server 8682d4587a fix(ci): correct hadolint SHA (d2da2 → dda2)
PR Checks / build (pull_request) Successful in 4m28s
PR Checks / hadolint (pull_request) Successful in 8s
2026-06-12 14:20:52 -04:00
cloudix_mcp_server 293cb50d4a fix(ci): correct hadolint SHA (d2da2 → dda2)
PR Checks / build (pull_request) Successful in 4m33s
PR Checks / hadolint (pull_request) Successful in 5s
2026-06-12 14:20:48 -04:00
cloudix_mcp_server caa18faff0 fix(ci): correct hadolint SHA (d2da2 → dda2)
PR Checks / build (pull_request) Successful in 4m40s
PR Checks / hadolint (pull_request) Successful in 5s
2026-06-12 14:20:38 -04:00
cloudix_mcp_server 1c50016d80 fix(ci): correct hadolint SHA (d2da2 → dda2) 2026-06-12 14:20:35 -04:00
cloudix_mcp_server e21758978a chore(ci): remove monolithic docker-build.yaml, replaced by pr/main/tag/cron
PR Checks / build (pull_request) Has been skipped
PR Checks / hadolint (pull_request) Failing after 3s
2026-06-12 14:18:58 -04:00
cloudix_mcp_server a261bdc030 feat(ci): add nightly rebuild of latest + most recent tag 2026-06-12 14:18:50 -04:00
cloudix_mcp_server b6a9577eee feat(ci): add tag release workflow with Hadolint + push :tag 2026-06-12 14:18:47 -04:00
cloudix_mcp_server 993c749a89 feat(ci): add main release workflow with Hadolint + push latest + auto-tag 2026-06-12 14:18:45 -04:00
cloudix_mcp_server 29ddd3f23b feat(ci): add PR workflow with Hadolint + build 2026-06-12 14:18:43 -04:00
jcabillot a9fa841569 Merge pull request 'fix: use git push instead of GitHub API for tag creation' (#11) from fix/git-tag-push into main
Docker Build and Push / build (push) Successful in 3m47s
Reviewed-on: #11
2026-06-12 12:48:39 -04:00
cloudix_mcp_server f1d828bfe3 fix: use git push instead of GitHub API for tag creation
Docker Build and Push / build (pull_request) Successful in 3m1s
GIT_API_TAGGING defaults to true, which tries to create tags via the
GitHub REST API (api.github.com). On self-hosted Gitea, this fails.
Setting it to false uses git push origin <tag> instead, which works
with the credentials configured by actions/checkout.
2026-06-12 12:47:40 -04:00
jcabillot be4711f646 Merge pull request 'ci: add automatic semver tagging on merge to main' (#10) from feat/semver-tag-action into main
Docker Build and Push / build (push) Failing after 4m0s
Reviewed-on: #10
2026-06-12 12:37:45 -04:00
cloudix_mcp_server 0ba3f170fd ci: add automatic semver tagging on push to main
Docker Build and Push / build (pull_request) Successful in 2m56s
Uses anothrNick/github-tag-action (v1.75.0) to bump version and create
a git tag based on #major/#minor/#patch keywords in merge commits.
Runs only on push events to main (i.e. after a PR merge).

Also adds fetch-depth: 0 to checkout so the tag action can see all tags.

Fixes docker/build-push-action SHA: f9a3042 -> f9f3042 (v7.2.0).
2026-06-12 12:34:30 -04:00
cloudix_mcp_server ae9adb3c8a ci: add automatic semver tagging on push to main
Docker Build and Push / build (pull_request) Failing after 2m36s
Uses anothrNick/github-tag-action (v1.75.0) to bump version and create
a git tag based on #major/#minor/#patch keywords in merge commits.
Runs only on push events to main (i.e. after a PR merge).

Also adds fetch-depth: 0 to checkout so the tag action can see all tags.
2026-06-12 12:25:16 -04:00
cloudix_mcp_server b97f91546a ci: add automatic semver tagging on push to main
Uses anothrNick/github-tag-action (v1.75.0) to bump version and create
a git tag based on #major/#minor/#patch keywords in merge commits.
Runs only on push events to main (i.e. after a PR merge).

Also adds fetch-depth: 0 to checkout so the tag action can see all tags.
2026-06-12 12:19:56 -04:00
jcabillot 06453428ec Merge pull request 'chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.2' (#9) from renovate/registry.k8s.io-kubectl-1.x into main
Docker Build and Push / build (push) Successful in 4m14s
Reviewed-on: #9
2026-06-12 07:31:19 -04:00
renovate 5698cbb1dc chore(deps): update registry.k8s.io/kubectl docker tag to v1.36.2
Docker Build and Push / build (pull_request) Successful in 2m44s
2026-06-12 11:05:52 +00:00
jcabillot 64efc540ce Merge pull request 'chore(deps): pin dependencies' (#6) from renovate/pin-dependencies into main
Docker Build and Push / build (push) Successful in 4m6s
Reviewed-on: #6
2026-06-09 14:13:44 -04:00
jcabillot 9abc442574 Merge pull request 'docs: add dependency management section — renovate must track all pinned Dockerfile packages' (#8) from docs/agents-md-renovate-convention into main
Docker Build and Push / build (push) Successful in 3m49s
Reviewed-on: #8
2026-06-09 12:46:56 -04:00
cloudix_mcp_server 7ffc2f7e4f docs: fix double-encoded AGENTS.md, replace Jenkins with Gitea Actions
Docker Build and Push / build (pull_request) Successful in 3m13s
2026-06-09 12:27:13 -04:00
cloudix_mcp_server d7acd23316 docs: remove all Jenkins references, replace with Gitea Actions conventions
Docker Build and Push / build (pull_request) Successful in 3m27s
2026-06-09 12:25:56 -04:00
Sagent 990aceff0e docs: add dependency management section — renovate must track all pinned Dockerfile packages
Docker Build and Push / build (pull_request) Successful in 3m49s
2026-06-09 16:18:58 +00:00
cloudix_mcp_server b7bd789d99 chore: add renovate regex manager for opencode-ai
Docker Build and Push / build (push) Successful in 3m50s
2026-06-09 12:16:03 -04:00
renovate 93ba3a92d2 chore(deps): pin dependencies
Docker Build and Push / build (pull_request) Failing after 11m49s
2026-06-09 16:13:19 +00:00
cloudix_mcp_server 804d541ff8 chore: pin opencode-ai to 1.16.2 (latest)
Docker Build and Push / build (push) Successful in 4m5s
2026-06-09 12:11:43 -04:00
jcabillot f183ef05b4 Merge pull request 'chore(config): migrate Renovate config' (#7) from renovate/migrate-config into main
Docker Build and Push / build (push) Successful in 4m15s
Reviewed-on: #7
2026-06-09 12:09:42 -04:00
renovate 5f119f2a62 chore(config): migrate config renovate.json
Docker Build and Push / build (pull_request) Successful in 3m13s
2026-06-09 14:00:03 +00:00
jcabillot 9443098774 Merge pull request 'chore: improve renovate dependency detection' (#5) from chore/renovate into main
Docker Build and Push / build (push) Successful in 5m7s
Reviewed-on: #5
2026-06-08 22:15:42 -04:00
cloudix_mcp_server 3923c95b30 chore: add renovate regex manager for n2-soul in Dockerfile RUN
Docker Build and Push / build (pull_request) Successful in 3m38s
2026-06-08 21:40:58 -04:00
12 changed files with 280 additions and 127 deletions

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
name: Nightly Rebuild
on:
schedule:
- cron: '0 0 * * *'
jobs:
hadolint:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
with:
dockerfile: Dockerfile
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t ci-image:${{ github.sha }} .
build-push:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: get-latest-tag
run: |
TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
echo "tag=$TAG" >> $GITHUB_OUTPUT
- id: meta
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6
with:
images: jcabillot/opencode
tags: |
type=raw,value=${{ steps.get-latest-tag.outputs.tag }}-latest,enable=${{ steps.get-latest-tag.outputs.tag != '' }}
- uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
-46
View File
@@ -1,46 +0,0 @@
name: Docker Build and Push
on:
pull_request:
branches: [main]
push:
branches: [main]
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker metadata
id: meta
uses: docker/metadata-action@v6
with:
images: jcabillot/opencode
tags: |
#type=ref,event=branch
#type=ref,event=pr
#type=sha
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
+43
View File
@@ -0,0 +1,43 @@
name: Main Release
on:
push:
branches: [main]
jobs:
hadolint:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
with:
dockerfile: Dockerfile
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t ci-image:${{ github.sha }} .
build:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t jcabillot/opencode:${{ github.sha }} .
tag:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0
- name: Configure git auth
run: |
git remote set-url origin "https://x-access-token:${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}@scm.cabillot.eu/perso/opencode.git"
- uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # v1.75.0
env:
GITHUB_TOKEN: ${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}
DEFAULT_BUMP: patch
RELEASE_BRANCHES: main
WITH_V: true
GIT_API_TAGGING: false
+21
View File
@@ -0,0 +1,21 @@
name: PR Checks
on:
pull_request:
branches: [main]
jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
with:
dockerfile: Dockerfile
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t ci-image:${{ github.sha }} .
+12
View File
@@ -0,0 +1,12 @@
name: Renovate
on:
push:
branches:
- main
workflow_dispatch:
jobs:
renovate:
uses: perso/gitea-pipelines/.gitea/workflows/renovate.yaml@main
secrets: inherit
+47
View File
@@ -0,0 +1,47 @@
name: Tag Release
on:
push:
tags: ['*']
jobs:
hadolint:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: hadolint/hadolint-action@06be81baf89a55ffd0e24b8f04a4185738dd3387 # v3.5.0
with:
dockerfile: Dockerfile
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- run: docker build -t ci-image:${{ github.sha }} .
build-push:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6
with:
images: jcabillot/opencode
tags: |
type=ref,event=tag
type=ref,event=tag,suffix=-latest
- uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
pull: true
+37 -20
View File
@@ -2,33 +2,47 @@
## Project overview
This repository builds and publishes a Docker image for [OpenCode](https://opencode.ai), the open source AI coding agent. The image runs OpenCode in headless server mode (`opencode serve`) and is automatically rebuilt and pushed to Docker Hub (`jcabillot/opencode`) every night by a Jenkins pipeline.
This repository builds and publishes a Docker image for [OpenCode](https://opencode.ai), the open source AI coding agent. The image ships OpenCode 2, runs it in headless server mode (`opencode serve`), and is automatically rebuilt and pushed to Docker Hub (`jcabillot/opencode`) every night by a Gitea Actions pipeline.
## Repository structure
```
.
├── Dockerfile # Image definition
├── Jenkinsfile # CI/CD pipeline (nightly build + Docker Hub push)
├── opencode-attach # Helper script for attaching to a running server
└── README.md # Usage documentation
├── Dockerfile # Image definition
├── .gitea/workflows/docker-build.yaml # CI/CD pipeline (Gitea Actions)
├── renovate.json # Dependency update automation (Renovatebot)
├── opencode-attach # Helper script for attaching to a running server
└── README.md # Usage documentation
```
## Dependency management
- **Always pin versions** in the Dockerfile `npm install` command (e.g. `@opencode/cli@2.0.32 n2-soul@9.0.9`). Never leave packages unpinned.
- **Update renovate customManagers** when adding, removing, or renaming a dependency tracked in the Dockerfile. Each pinned package must have a corresponding `customManager` entry in `renovate.json` with a regex `matchStrings` pattern that captures the version. If a dependency is added without a renovate entry, Renovatebot will not open automated PRs for it.
- **apt packages** (apt-get install lines in Dockerfile) and **COPY --from** image references are not currently tracked by Renovate. Pinning these manually is acceptable for now but adding renovate managers for them is encouraged.
## Dockerfile conventions
- **Base image**: `node:24` — Debian-based Node.js image (not Alpine, needed for apt packages).
- **Install**: `npm i -g opencode-ai n2-soul@<version>` — installs OpenCode and Soul globally.
- **Base image**: `node:26-trixie` — Debian-based Node.js image (not Alpine) so that downstream images can still use `apt-get` and Node-based MCP servers keep working.
- **Install**: `npm i -g @opencode/cli@<version> n2-soul@<version>` — installs OpenCode 2 and Soul globally, both pinned. `@opencode/cli` replaced `opencode-ai` as the published package in OpenCode 2; `--allow-scripts=@opencode/cli` is required for its `postinstall` to select the native binary.
- **Version check**: `RUN opencode --version` after install to validate the build and record the installed version in build logs.
- **Dedicated user**: a non-root `opencode` user and group are created with `groupadd`/`useradd` (UID/GID 1000). All runtime steps run as this user.
- **Cluster tooling**: `kubectl` is copied from the official `registry.k8s.io/kubectl` image (multi-stage COPY).
- **Entrypoint**: `["opencode"]` — arguments are passed at runtime (e.g. `serve`).
- **Entrypoint**: `["opencode"]` — arguments are passed at runtime; `serve` starts the headless server. Bare `opencode` opens the TUI, so the server is always invoked explicitly.
## Jenkinsfile conventions
## OpenCode 2 notes
- The pipeline runs on a `@midnight` cron trigger for nightly rebuilds.
- Build uses `--no-cache --pull` to always fetch the latest base image and package version.
- Docker Hub credentials are stored under the `dockerhub_jcabillot` Jenkins credential ID.
- The image is published as `jcabillot/opencode` (no explicit tag = `latest`).
- The npm package is `@opencode/cli` (bins `opencode` and `opencode2`); `opencode-ai` stops at 1.19.x and must not come back.
- `opencode attach` no longer exists: point a client at a server with `opencode --server <url>` (after the subcommand when one is given). `opencode-attach` wraps this.
- The server always authenticates: username is fixed to `opencode`, password comes from `OPENCODE_SERVER_PASSWORD` or `OPENCODE_PASSWORD`, and a random one is generated and logged when neither is set.
- The v1 REST API was replaced (`/global/health` is gone, every route now lives under `/api/*` and requires auth). Any client calling the v1 API — e.g. `perso/opencode-dispatch` — must be migrated separately.
## CI/CD conventions (Gitea Actions)
- Pipeline triggers on push to `main`, PRs targeting `main`, and a nightly cron (`cron: '0 0 * * *'`).
- Image is pushed to Docker Hub only on non-PR events (main branch pushes and cron runs).
- Docker Hub credentials are stored in Gitea Actions secrets (`DOCKERHUB_USERNAME`, `DOCKERHUB_TOKEN`).
- The image is published as `jcabillot/opencode:latest` with digest and branch tags.
## Useful commands
@@ -37,17 +51,17 @@ This repository builds and publishes a Docker image for [OpenCode](https://openc
docker build -t opencode .
# Run the server on all interfaces
docker run -it -p 4096:4096 opencode --hostname 0.0.0.0
docker run -it -p 4096:4096 opencode serve --hostname 0.0.0.0
# Run with a project mounted
docker run -it -p 4096:4096 \
-v $(pwd):/home/opencode/project \
opencode --hostname 0.0.0.0
opencode serve --hostname 0.0.0.0
# Protect with a password
docker run -it -p 4096:4096 \
-e OPENCODE_SERVER_PASSWORD=secret \
opencode --hostname 0.0.0.0
opencode serve --hostname 0.0.0.0
```
## opencode serve options
@@ -56,12 +70,15 @@ docker run -it -p 4096:4096 \
|------|---------|-------------|
| `--port` | `4096` | Port to listen on |
| `--hostname` | `127.0.0.1` | Hostname to bind |
| `--mdns` | `false` | Enable mDNS discovery |
| `--cors` | `[]` | Additional allowed browser origins |
| `--cors` | `[]` | Additional allowed browser origins (repeatable) |
| `--service` | `false` | Run as the shared background service |
| `--stdio` | `false` | Serve over stdio for editor integrations |
## Environment variables
| Variable | Description |
|----------|-------------|
| `OPENCODE_SERVER_PASSWORD` | Enables HTTP basic auth |
| `OPENCODE_SERVER_USERNAME` | Overrides the default username (`opencode`) |
| `OPENCODE_SERVER_PASSWORD` | Server password (HTTP basic auth, username `opencode`) |
| `OPENCODE_PASSWORD` | Same, takes precedence over `OPENCODE_SERVER_PASSWORD` |
`OPENCODE_SERVER_USERNAME` existed in OpenCode 1 and is no longer read: the username is always `opencode`.
+7 -3
View File
@@ -4,6 +4,7 @@ ENV NPM_CONFIG_UPDATE_NOTIFIER=false \
NPM_CONFIG_LOGLEVEL=warn \
NODE_ENV=production
RUN apt-get update && \
apt-get upgrade -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/* && \
@@ -12,13 +13,16 @@ RUN apt-get update && \
groupadd -g 1000 opencode; \
useradd -m -u 1000 -g 1000 -s /usr/bin/bash opencode; \
npm update -g --no-fund --no-audit && \
npm install -g --no-fund --no-audit opencode-ai n2-soul@9.0.9 && \
npm install -g --no-fund --no-audit --ignore-scripts n2-soul@9.0.9 && \
npm install -g --no-fund --no-audit --allow-scripts=better-sqlite3 better-sqlite3@12.11.1 && \
rm -rf /usr/local/lib/node_modules/n2-soul/node_modules/better-sqlite3 && \
npm install -g --no-fund --no-audit --allow-scripts=@opencode/cli @opencode/cli@2.0.32 && \
npm cache clean --force && \
chown -R 1000:1000 /usr/local/lib/node_modules/n2-soul/
COPY --chmod=755 opencode-attach /usr/local/bin/opencode-attach
COPY --from=registry.k8s.io/kubectl:v1.36.1 /bin/kubectl /usr/local/bin/kubectl
COPY --from=registry.k8s.io/kubectl:v1.37.1 /bin/kubectl /usr/local/bin/kubectl
# hadolint ignore=DL3066
USER opencode
WORKDIR /home/opencode
Vendored
-38
View File
@@ -1,38 +0,0 @@
pipeline {
environment {
registry = 'https://registry.hub.docker.com'
registryCredential = 'dockerhub_jcabillot'
dockerImage = 'jcabillot/opencode'
}
agent any
triggers {
cron('@midnight')
}
stages {
stage('Clone repository') {
steps{
checkout scm
}
}
stage('Build image') {
steps{
sh 'docker build --force-rm=true --no-cache=true --pull -t ${dockerImage} .'
}
}
stage('Deploy Image') {
steps{
script {
withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}'
sh 'docker push ${dockerImage}'
}
}
}
}
}
}
+29 -19
View File
@@ -4,7 +4,7 @@ Docker image for running [OpenCode](https://opencode.ai) as a headless HTTP serv
## What is OpenCode?
OpenCode is an open source AI coding agent available as a terminal interface, desktop app, or IDE extension. This image runs it in server mode (`opencode serve`), exposing an HTTP API that clients can connect to.
OpenCode is an open source AI coding agent available as a terminal interface, desktop app, or IDE extension. This image ships OpenCode 2 and runs it in server mode (`opencode serve`), exposing an HTTP API and web UI that clients can connect to.
## Pull
@@ -12,7 +12,7 @@ OpenCode is an open source AI coding agent available as a terminal interface, de
docker pull jcabillot/opencode
```
The image is rebuilt and pushed to Docker Hub automatically every night via the Jenkins pipeline.
The image is rebuilt and pushed to Docker Hub automatically every night by the Gitea Actions pipeline.
## Build locally
@@ -22,14 +22,16 @@ docker build -t opencode .
## Run
The entrypoint is the `opencode` binary; pass `serve` to start the headless server:
```bash
docker run -it -p 4096:4096 jcabillot/opencode
docker run -it -p 4096:4096 jcabillot/opencode serve
```
By default the server listens on `127.0.0.1:4096`. To expose it on all interfaces:
The server listens on `127.0.0.1:4096` by default. To expose it on all interfaces:
```bash
docker run -it -p 4096:4096 jcabillot/opencode --hostname 0.0.0.0
docker run -it -p 4096:4096 jcabillot/opencode serve --hostname 0.0.0.0
```
### Mount a project
@@ -37,7 +39,7 @@ docker run -it -p 4096:4096 jcabillot/opencode --hostname 0.0.0.0
```bash
docker run -it -p 4096:4096 \
-v $(pwd):/home/opencode/project \
jcabillot/opencode --hostname 0.0.0.0
jcabillot/opencode serve --hostname 0.0.0.0
```
### Secure with a password
@@ -45,17 +47,17 @@ docker run -it -p 4096:4096 \
```bash
docker run -it -p 4096:4096 \
-e OPENCODE_SERVER_PASSWORD=your-password \
jcabillot/opencode --hostname 0.0.0.0
jcabillot/opencode serve --hostname 0.0.0.0
```
Authentication uses HTTP basic auth. The default username is `opencode`, override it with `OPENCODE_SERVER_USERNAME`.
Authentication uses HTTP basic auth. The username is always `opencode`; the password is read from `OPENCODE_SERVER_PASSWORD` (or `OPENCODE_PASSWORD`). When neither is set, OpenCode 2 generates a random password and prints it to the log at startup — the server is never left unauthenticated.
## Troubleshooting helper
The image includes an `opencode-attach` wrapper in `PATH` that runs:
```bash
opencode attach -p "${OPENCODE_SERVER_PASSWORD}" "${OPENCODE_API_URL}"
opencode --server "${OPENCODE_API_URL}"
```
Example:
@@ -66,31 +68,39 @@ export OPENCODE_API_URL=http://127.0.0.1:4096
opencode-attach
```
Extra arguments are forwarded to the client, with `--server` appended to the subcommand:
```bash
opencode-attach session list --format json
```
## API
Once running, the server exposes an OpenAPI 3.1 spec at:
```
http://localhost:4096/doc
http://localhost:4096/openapi.json
```
The web UI is served at `/` and is reachable without credentials; every `/api/*` route requires basic auth.
Key endpoints:
| Method | Path | Description |
|--------|------|-------------|
| `GET` | `/global/health` | Health check and version |
| `GET` | `/session` | List sessions |
| `POST` | `/session` | Create a session |
| `POST` | `/session/:id/message` | Send a message |
| `GET` | `/event` | Server-sent events stream |
| `GET` | `/api/info` | Health check and version |
| `GET` | `/api/session` | List sessions |
| `POST` | `/api/session` | Create a session |
| `POST` | `/api/session/:id/prompt` | Send a message |
| `GET` | `/api/event` | Server-sent events stream |
See the [OpenCode server docs](https://opencode.ai/docs/server/) for the full API reference.
See the [OpenCode v2 API reference](https://opencode.ai/v2/docs/api/) for the full API surface.
## Image details
- **Base image**: `node:24` (Debian)
- **Install**: `opencode-ai` via npm global install
- **Base image**: `node:26-trixie` (Debian)
- **Install**: `@opencode/cli` (OpenCode 2) via npm global install
- **User**: dedicated non-root `opencode` user
- **Cluster tooling**: `kubectl` (copied from official registry image)
- **Entrypoint**: `opencode serve`
- **Entrypoint**: `opencode`
- **Default port**: `4096`
+9 -1
View File
@@ -45,4 +45,12 @@ trap cleanup_lock INT TERM EXIT
kill_existing_instance
printf '%s\n' "$$" > "$LOCKFILE"
exec opencode attach -p "${OPENCODE_SERVER_PASSWORD}" "${OPENCODE_API_URL}" "$@"
# OpenCode 2 dropped `opencode attach`: a client is pointed at a server with
# --server <url>, which must follow the subcommand when one is given.
if [ "$#" -eq 0 ]; then
set -- --server "${OPENCODE_API_URL}"
else
set -- "$@" --server "${OPENCODE_API_URL}"
fi
exec opencode "$@"
+23
View File
@@ -0,0 +1,23 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"customManagers": [
{
"customType": "regex",
"description": "Track n2-soul npm package pinned in Dockerfile RUN command",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["n2-soul@(?<currentValue>[^\\s]+)"],
"depNameTemplate": "n2-soul",
"datasourceTemplate": "npm",
"versioningTemplate": "npm"
},
{
"customType": "regex",
"description": "Track @opencode/cli npm package pinned in Dockerfile RUN command",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["@opencode/cli@(?<currentValue>[^\\s]+)"],
"depNameTemplate": "@opencode/cli",
"datasourceTemplate": "npm",
"versioningTemplate": "npm"
}
]
}