Skip to content
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ RUN case "${TARGETARCH}" in \
# Pinned to the latest upstream release. Bump WISP_VERSION and WISP_COMMIT to
# update (see UPDATING.md). WISP_COMMIT is the immutable commit the tag points
# to; the guard below fails the build if the tag is ever re-pointed.
ARG WISP_VERSION=v0.5.5
ARG WISP_COMMIT=76a3261369ff4a2b5dedb778e8b1d42184800ea4
ARG WISP_VERSION=main
ARG WISP_COMMIT=d96bd0e036308e73922fa5e06b20394115ca0883
Comment on lines 26 to +30

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Pinning to main branch instead of a tag breaks the documented pin contract.

WISP_VERSION=main is a moving branch, not a release tag, but the comment above (unchanged) still says "set ARG WISP_VERSION to the new tag (e.g. v0.3.0) and ARG WISP_COMMIT to the commit that tag points to" and the in-file comment claims this is "Pinned to the latest upstream release" with a guard against "the tag ever re-pointed" — there is no tag here. Since the clone uses --branch ${WISP_VERSION} --depth 1, it only fetches the current tip of main; as soon as upstream main advances past d96bd0e, any rebuild will hard-fail the SHA guard (not just on a force-push/re-point). If this is intentionally a transient test build (per PR title), consider adding a comment clarifying that, or better, use a lightweight tag/ref that stays fixed to this exact commit so the guard's semantics match reality and the build doesn't silently break for anyone re-running it later.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Dockerfile` around lines 26 - 30, The Dockerfile pin is inconsistent with the
documented “tag + commit” contract because WISP_VERSION is set to main, which is
a moving branch rather than a fixed release ref. Update the pin in the
Dockerfile so WISP_VERSION points to a stable tag or exact ref that matches
WISP_COMMIT, and keep the existing guard semantics in sync with the clone step
used for WISP_VERSION. If this is meant to be a temporary test build, add a
clear comment near the WISP_VERSION/WISP_COMMIT args explaining that intent.

RUN git clone --branch ${WISP_VERSION} --depth 1 https://github.com/privkeyio/wisp.git /src && \
HEAD_SHA="$(git -C /src rev-parse HEAD)" && \
if [ "${HEAD_SHA}" != "${WISP_COMMIT}" ]; then \
Expand Down
4 changes: 2 additions & 2 deletions startos/versions/current.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'

export const current = VersionInfo.of({
version: '0.5.5:0',
version: '0.5.10:1',
releaseNotes: {
en_US:
'Updates wisp to v0.5.5. No behavior change from v0.5.4: wisp now builds against the upstream http.zig and websocket.zig libraries instead of temporary forks, since all of its fixes have been merged upstream. Carries forward every prior fix: the inbound-worker crash fix, crash-safe storage, stable Spider upstream connections, no per-IP cap behind the StartOS proxy, and the diagnosable (ReleaseSafe) build.',
'Test build: wisp built from upstream main HEAD (d96bd0e) past the v0.5.10 tag — includes connection reaping + SO_KEEPALIVE (#136), idle-close slot reclaim (#133), spider staleness watchdog (#132), and shutdown-aware spider bootstrap (#137).',
},
migrations: {
up: async ({ effects }) => {},
Expand Down
Loading