24 Commits

Author SHA1 Message Date
jcabillot 5a4ad2f76e Merge pull request 'chore(deps): update node docker tag to v26' (#2) from renovate/node-26.x into main
Main Release / hadolint (push) Successful in 6s
Main Release / test (push) Successful in 1m35s
Main Release / build (push) Successful in 11s
Main Release / tag (push) Successful in 9s
Tag Release / hadolint (push) Successful in 6s
Tag Release / test (push) Successful in 10s
Tag Release / build-push (push) Successful in 2m46s
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 / hadolint (pull_request) Successful in 6s
PR Checks / build-test (pull_request) Successful in 1m32s
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 / hadolint (pull_request) Successful in 6s
PR Checks / build-test (pull_request) Failing after 39s
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 / hadolint (pull_request) Successful in 7s
PR Checks / build-test (pull_request) Failing after 2m26s
2026-07-13 23:21:19 +00:00
Hermes Agent 25ce5423ed fix: use subshell to avoid hadolint DL3003 warning
PR Checks / hadolint (pull_request) Failing after 6s
PR Checks / build-test (pull_request) Failing after 2m39s
2026-07-13 23:19:18 +00:00
Hermes Agent 6ccd634cd9 fix: upgrade better-sqlite3 to v12 for Node 26 compatibility
PR Checks / hadolint (pull_request) Failing after 6s
PR Checks / build-test (pull_request) Failing after 2m39s
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 / hadolint (pull_request) Successful in 7s
PR Checks / build-test (pull_request) Failing after 2m21s
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 / hadolint (push) Successful in 6s
Main Release / test (push) Successful in 3m13s
Main Release / build (push) Successful in 13s
Main Release / tag (push) Successful in 9s
Tag Release / hadolint (push) Successful in 6s
Tag Release / test (push) Successful in 11s
Tag Release / build-push (push) Successful in 4m45s
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 / hadolint (pull_request) Successful in 8s
PR Checks / build-test (pull_request) Successful in 3m42s
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 / hadolint (push) Successful in 6s
Main Release / test (push) Successful in 12s
Main Release / build (push) Successful in 11s
Main Release / tag (push) Successful in 9s
Tag Release / hadolint (push) Successful in 7s
Tag Release / test (push) Successful in 3m9s
Tag Release / build-push (push) Successful in 4m25s
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 / hadolint (pull_request) Successful in 5s
PR Checks / build-test (pull_request) Successful in 3m7s
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 / build (push) Successful in 3m32s
Main Release / hadolint (push) Failing after 13m19s
Main Release / tag (push) Successful in 11s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 3m44s
Tag Release / build-push (push) Successful in 4m22s
Reviewed-on: #22
2026-07-06 15:09:19 -04:00
renovate ed90366d5f chore(deps): update dependency opencode-ai to v1.17.13
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 3m22s
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 / hadolint (push) Failing after 11m7s
Main Release / build (push) Successful in 22s
Main Release / tag (push) Successful in 16s
Tag Release / hadolint (push) Successful in 17s
Tag Release / test (push) Successful in 23s
Tag Release / build-push (push) Successful in 4m59s
Reviewed-on: #21
2026-07-03 16:20:17 -04:00
renovate f8ba177a2e chore(deps): update docker/login-action digest to af1e73f
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 3m45s
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 / hadolint (push) Successful in 9s
Main Release / test (push) Successful in 16s
Main Release / build (push) Successful in 35s
Main Release / tag (push) Successful in 14s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 26s
Tag Release / build-push (push) Successful in 5m41s
Reviewed-on: #19
2026-07-02 09:40:41 -04:00
renovate eefe852138 chore(deps): update docker/metadata-action digest to dc80280
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 15s
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 / hadolint (push) Successful in 8s
Main Release / test (push) Successful in 23s
Main Release / build (push) Successful in 4m51s
Main Release / tag (push) Successful in 12s
Tag Release / hadolint (push) Successful in 13s
Tag Release / test (push) Successful in 20s
Tag Release / build-push (push) Successful in 5m59s
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 / hadolint (pull_request) Successful in 13s
PR Checks / build-test (pull_request) Successful in 4m1s
2026-07-02 12:47:10 +00:00
opencodecabilloteu 125ef4019a chore(deps): update docker/setup-buildx-action digest to bb05f3f
Main Release / hadolint (push) Successful in 13s
Main Release / test (push) Successful in 4m37s
Main Release / build (push) Successful in 21s
Main Release / tag (push) Successful in 21s
Tag Release / hadolint (push) Successful in 7s
Tag Release / test (push) Successful in 20s
Tag Release / build-push (push) Successful in 5m29s
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 / hadolint (pull_request) Successful in 8s
PR Checks / build-test (pull_request) Successful in 12s
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 / hadolint (push) Successful in 10s
Main Release / test (push) Successful in 20s
Main Release / build (push) Successful in 3m52s
Main Release / tag (push) Successful in 11s
Tag Release / hadolint (push) Successful in 10s
Tag Release / test (push) Successful in 16s
Tag Release / build-push (push) Successful in 4m43s
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 / hadolint (pull_request) Successful in 10s
PR Checks / build-test (pull_request) Successful in 3m39s
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 / hadolint (push) Successful in 9s
Main Release / test (push) Successful in 3m51s
Main Release / build (push) Successful in 15s
Main Release / tag (push) Successful in 17s
Tag Release / hadolint (push) Successful in 9s
Tag Release / test (push) Successful in 25s
Tag Release / build-push (push) Successful in 5m27s
Reviewed-on: #16
2026-06-18 16:22:45 -04:00
5 changed files with 19 additions and 15 deletions
+5 -5
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- run: docker build -t ci-image:${{ github.sha }} .
build-push:
@@ -28,8 +28,8 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with:
fetch-depth: 0
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -38,12 +38,12 @@ jobs:
TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
echo "tag=$TAG" >> $GITHUB_OUTPUT
- id: meta
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6
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@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
- uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
push: true
+2 -2
View File
@@ -15,14 +15,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- run: docker build -t ci-image:${{ github.sha }} .
build:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- run: docker build -t jcabillot/opencode:${{ github.sha }} .
tag:
needs: [build]
+1 -1
View File
@@ -17,5 +17,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- run: docker build -t ci-image:${{ github.sha }} .
+5 -5
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- run: docker build -t ci-image:${{ github.sha }} .
build-push:
@@ -26,19 +26,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4
- uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6
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@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
- uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
push: true
+6 -2
View File
@@ -1,9 +1,10 @@
FROM node:24-trixie
FROM node:26-trixie
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,7 +13,10 @@ 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@1.16.2 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-ai opencode-ai@1.17.18 && \
npm cache clean --force && \
chown -R 1000:1000 /usr/local/lib/node_modules/n2-soul/