54 Commits
Author SHA1 Message Date
okxlin f9140454e2 fix(ci): prevent registry pushes from test workflows
Add an explicit publication gate to DeepSeek Harness reusable releases so test and non-main invocations build and verify without logging in or pushing to GHCR or Docker Hub.
2026-09-20 14:52:36 +08:00
okxlin 203a53bb01 feat: update DSH and publish OpenClaw Docker image
Squash merge of the verified DSH Alpha.2, OpenClaw Docker Hub publication, CI reliability, and security-policy fixes.
2026-09-19 12:01:15 +08:00
okxlin e058ba3f73 fix(images): harden runtimes and publish verified artifacts (#85)
Reject unsafe workstation credentials, fix native ARM64 Java, and remove duplicate extensions, caches and temporary tool layers.

Pin OpenCode's baseline and Gemini's source/runtime inputs; refresh maintained browser and OS packages; fix Nginx and vendored ZIP vulnerabilities. Verify real login, default plugins, browser/CDP persistence and isolated OpenClaw sandbox operations.

Build each platform once and bind release publication to the tested config and manifest digests. Keep service-specific vulnerability gates and refresh DSH APT stages during PR verification.

Validation: all 13 PR verification jobs passed, including native amd64/arm64 workstations and DSH variants, plus both browser variants and OpenClaw on amd64. Publication jobs were skipped for PR verification.
2026-09-13 01:52:07 +08:00
okxlin 3657e49ed1 perf(deepseek-harness): install only the default runtime closure (#84)
Source builds installed every publishable DSH/vendor tarball as an npm root, including optional Codex and Claude Code subagents with large native payloads. Follow the packed CLI's dependencies, optional runtime dependencies and required peers instead: DSH 0.1.5-rc.2 installs 239 of 274 locally built packages. This preserves source patches and unpublished-source support, keeps both hooks packages, and lets users install subagent plugins through their Profile. Document those commands and update the source baseline to rc.2.

Uncompressed image-layer sizes from Trivy `Metadata.Size`, comparing the same DSH rc.2 release against the [previous native build](https://github.com/okxlin/release-factory/actions/runs/34573930207):

| Image | Before (MiB) | After (MiB) | Reduction |
| --- | ---: | ---: | ---: |
| Runtime amd64 | 1347.5 | 710.6 | 47.3% |
| Runtime arm64 | 1309.9 | 718.5 | 45.1% |
| Workstation amd64 | 2758.1 | 2121.2 | 23.1% |
| Workstation arm64 | 2679.6 | 2088.2 | 22.1% |

Validation:

- [Native amd64/arm64 CI](https://github.com/okxlin/release-factory/actions/runs/34659070544): both variants pass full authentication/passthrough, production dependency audit, Caddy and Trivy gates; Workstation compiler and actual sandbox enforcement tests pass on both architectures.
- [Component/regression CI](https://github.com/okxlin/release-factory/actions/runs/34659070784): includes five new dependency-selection tests, with real unpublished tarballs installed offline and lifecycle scripts verified disabled.
- Local amd64 Runtime: both subagent plugins install with the bundled pnpm, register as Profile bundles and boot the Web Profile. Codex CLI 0.153.4 executes; Claude Agent SDK imports and its Claude Code 2.1.263 payload executes. No model calls were made.

Security thresholds remain in place. All four scans report zero fixable HIGH/CRITICAL findings; existing unfixed findings remain. These are verification builds; no registry publication was triggered.
2026-09-12 08:07:17 +08:00
okxlin d8044b5c85 feat(deepseek-harness): streamline secure image maintenance (#83)
Centralize component inputs and scoped Trivy policies. Replace the Buildx
source patch with compiled package-graph evidence.

Verify native amd64/arm64 images and publish the tested artifacts without
a second build. Add an explicit APT refresh path that reuses source caches.
2026-09-11 14:49:10 +08:00
okxlin 8f1af803d8 ci(deepseek-harness): allow longer arm64 builds (#82) 2026-09-10 18:29:09 +08:00
okxlin 946bd51bd3 fix(deepseek-harness): automate source release builds
Merge verified source-release build automation, runtime dependency auditing, and rc1 smoke headroom.
2026-09-10 15:25:03 +08:00
okxlin cd41d79df2 fix(deepseek-harness): resolve latest source releases automatically 2026-09-08 14:46:03 +08:00
okxlin 51a8efdc6c feat(codex-claude): resolve proxy updates in CI
Resolve current proxy-core releases and compatible Go modules in CI, pass immutable source inputs to both image builds, and cover the resolver with regression/contract tests.
2026-09-07 09:11:29 +08:00
okxlin dfd743a4a6 fix(codex-claude): build proxy cores from patched sources (#76) 2026-09-07 00:06:31 +08:00
okxlin dae56e20a7 fix(openclaw): support changed runtime-assets stage base (#74) 2026-09-06 12:34:16 +08:00
okxlin 260d2b7fcf fix(openclaw): rebuild bundled Docker tools with patched Go
Rebuild bundled Docker CLI and Compose with pinned official sources and Go 1.26.7; preserve the existing Trivy thresholds.
2026-09-01 12:25:16 +08:00
okxlin 652823a6e3 fix(openclaw): make runtime hardening resilient to upstream updates (#71)
Replace the brittle release-specific patch with an idempotent semantic Dockerfile transformation. Preserve the upstream package-manager version, reuse an existing npm refresh, and fail closed when required runtime anchors disappear.
2026-09-01 09:15:24 +08:00
okxlin f1cb460ac2 fix(deepseek-harness): build alpha source release 2026-08-29 10:40:34 +08:00
okxlin 7e98a329f8 fix(opencode-workstation): retire stale GPT Unlocked plugin 2026-08-27 20:02:17 +08:00
okxlin b32bcc16d2 ci: reschedule DeepSeek Harness refresh workflows
Squash merge timezone-aligned component checks and scheduled runtime/workstation refreshes.
2026-08-21 16:52:08 +08:00
okxlin 3211195045 chore: refresh DeepSeek Harness components for rc.8
Squash merge verified component refresh, rc.8 dependency update, and synchronized security pins.
2026-08-21 13:37:17 +08:00
okxlin b3594b5521 build: streamline DeepSeek Harness workstation (#62)
Resolve the highest published DSH version, add scheduled component update checks, rebalance the workstation toolset, and retain the existing runtime and workstation targets.

Remove Rust/Cargo, restore pinned npm, add checksum-pinned development tools, build actionlint with the pinned Go toolchain, and reduce the workstation image by about 505 MiB while preserving cross-platform node-pty assets.

Validated by component-pin checks, runtime/workstation builds and smoke tests, dependency audits, Caddy checks, and Trivy gates.
2026-08-20 22:46:47 +08:00
okxlin 1834a81ea2 ci: verify DeepSeek Harness pull requests
Build committed amd64 runtime and workstation inputs without publishing, then exercise the existing dependency, smoke, Caddy, toolchain, and Trivy gates. Pin the Docker-socket Trivy fallback image by digest across the DeepSeek Harness workflows.
2026-08-19 16:14:08 +08:00
okxlin 983b302f98 ci: validate DeepSeek Harness component pins 2026-08-19 15:31:56 +08:00
okxlin 7bd33ee88f fix: preserve DSH API trust in passthrough mode
Normalize AUTH_MODE=none requests at Caddy so browser-facing Host and Origin headers do not bypass DeepSeek Harness' loopback-only privileged API boundary. Add a regression smoke for settings and credentials APIs, invoke it for both image variants, and document the external-auth deployment requirement.

Fixes #56.
2026-08-19 09:54:11 +08:00
okxlin 51972aab81 build: refresh DeepSeek Harness rc.6 image toolchains
Refresh the rc.6 image base, language runtimes, development clients, security gates, and Caddy authentication rate limiting.
2026-08-18 20:03:37 +08:00
okxlin b3e592909e ci: align DSH build Node version
Use Node.js 24.19.0 while preparing both runtime and workstation build contexts so workflow setup matches the pinned image engine.
2026-08-17 09:41:39 +08:00
okxlin e7fde9fad7 Tag DeepSeek Harness images by DSH version 2026-08-16 01:21:13 +08:00
okxlin 8e0818a001 Refine DeepSeek Harness workstation release
Persist the workstation HOME in one named volume, keep the workspace directly mounted, extend the bounded login lifetime options, retain the opt-in Docker socket contract, and document the arm64 QEMU Landlock probe exception.
2026-08-15 20:07:56 +08:00
okxlin ae194e37f5 Unify DeepSeek Harness image publication 2026-08-15 01:43:36 +08:00
okxlin de01069e9a Add authenticated DeepSeek Harness images
Provide lightweight runtime and full workstation targets with browser authentication, 1Panel reverse-proxy support, opt-in Docker socket access, hardened pinned dependencies, multi-architecture workflows, and release security gates.
2026-08-14 20:44:45 +08:00
okxlin 9188f33e55 Add Paseo mobile access to Codex workstation
Pin the audited Paseo runtime, expose it directly on container port 6767 for an operator-managed reverse proxy, and retain authentication, persistence, supply-chain, and runtime checks.
2026-08-11 12:56:00 +08:00
okxlin eed64a5c59 fix: upgrade 1Panel workflow actions to Node 24 2026-07-22 16:37:09 +08:00
okxlin 4728657b43 fix: upgrade image workflow actions to Node 24 2026-07-22 16:36:50 +08:00
okxlin b80f38b564 fix: upgrade OpenClaw actions to Node 24 2026-07-22 16:15:16 +08:00
okxlin a394c03b11 fix: harden OpenClaw runtime dependencies
Refresh the pinned Node runtime images and apply a fail-closed upstream patch that upgrades npm and pnpm past the fixable critical vulnerabilities reported by the image gate.
2026-07-22 14:19:04 +08:00
okxlin 7b067a773f fix: retry OpenClaw release lookup 2026-07-11 13:53:59 +08:00
okxlin 1aae0545c8 fix: harden image scan gates 2026-06-23 22:30:50 +08:00
okxlinandWorkstation Dev daf7a2afd8 feat: preinstall actionlint in opencode workstation (#25)
* fix: update opencode workstation runtime

* fix: harden opencode multi-arch workflow

* fix: clean opencode smoke test bind mounts

* feat: preinstall actionlint in opencode workstation

---------

Co-authored-by: Workstation Dev <dev@workstation>
2026-06-22 01:26:17 +08:00
okxlinandWorkstation Dev 71ff977230 feat: add codex arm64 image support and smoke diagnostics (#24)
* ci: add codex smoke diagnostics

* fix: make codex sandbox probe configurable

* feat: add codex arm64 image support

* docs: correct codex build params example

---------

Co-authored-by: Workstation Dev <dev@workstation>
2026-06-19 00:38:39 +08:00
okxlinandWorkstation Dev 7d0161bbcb fix: opencode workstation runtime sync improvements (#22)
* fix: update opencode workstation runtime

* fix: harden opencode multi-arch workflow

---------

Co-authored-by: Workstation Dev <dev@workstation>
2026-06-19 00:27:55 +08:00
okxlinandWorkstation Dev 2455984309 fix: update codex-claude-workstation runtime config and docs (#21)
Co-authored-by: Workstation Dev <dev@workstation>
2026-06-18 21:52:27 +08:00
okxlin 2b0622a5ee fix: remove duplicate IMAGE_REPO in workflow env 2026-06-15 08:45:19 +08:00
okxlin f7b3031723 chore: fix CI warnings — Node.js 24 + suppress SecretsUsedInArgOrEnv
- Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to fix Node.js 20 deprecation
- Add check=skip annotation above ARG ROOT_PASSWORD (non-sensitive default)
2026-06-15 08:44:56 +08:00
okxlin f5c21419e1 audit: remove stale references to TTYD, Happy, and old Go version
- CI workflow: remove unused TTYD_VERSION build arg
- doctor.sh: remove ENABLE_HAPPY_REMOTE from env var check
- builder README: remove TTYD_USER/PASSWORD and Happy docs
- .env.example: GO_VERSION 1.22.5 → 1.25.11
2026-06-14 14:28:13 +08:00
okxlin 9813383132 fix: restore CI workflow to .github/workflows/ 2026-06-14 13:42:35 +08:00
okxlin f30b502ec4 v3: rename to codex-claude-workstation, Go 1.25.11, built-in proxy cores, code-server extensions
- Rename: codex-web-workstation → codex-claude-workstation
- Go: 1.22.5 → 1.25.11
- Built-in proxy cores: mihomo v1.19.27, sing-box v1.13.13, Xray v26.3.27
- code-server extensions: anthropic.claude-code, openai.chatgpt, ms-ceintl.vscode-language-pack-zh-hans
- CI: updated workflow name, image repo, OCI labels
2026-06-14 13:42:19 +08:00
okxlin 9f55d8c68f v2: drop ttyd, add supervisord proxy supports, rich toolchain, security hardening
- Remove ttyd (code-server has built-in terminal)
- Add supervisord + Clash.Meta/sing-box/Xray proxy templates
- Add 25+ dev tools: Go, Rust, Bun, Docker CLI, yq, gh, shellcheck, etc
- Add root password ARG + dev sudo NOPASSWD
- Add @anthropic-ai/claude-code
- Fix supervisord pid/socket path permission (/run/codex/)
- Fix proxy configs persistence (~/proxy/)
- Remove all ttyd residuals from data.yml, README, CI workflow
- Streamline entrypoint.sh: 108→76 lines
2026-06-14 04:37:50 +08:00
okxlin 904e28fa64 feat(codex-web-workstation): add Codex CLI web workstation builder
* feat(codex-web-workstation): add image builder with CI workflow

- Ubuntu 24.04 base with dev user, NodeSource 20.x, ttyd 1.7.7, code-server, @openai/codex
- 5 runtime scripts: entrypoint.sh, configure-provider.sh, healthcheck.sh, doctor.sh, smoke-test.sh
- Build parameter resolver and architecture allowlist
- GitHub Actions workflow: build-codex-web-workstation.yml (workflow_dispatch, docker/build-push-action@v6, ghcr.io)
- Image-only: no docker-compose, Caddyfile, or compose-time config

* fix(ci): use hyphenated input names (image-tag, push-latest)

* fix(health): replace curl -sf with tolerant HTTP status check

- healthcheck.sh: accept any 2xx/3xx/4xx response as proof of listening
  (code-server returns 302, ttyd returns 401 with basic auth)
- smoke-test.sh: same fix for HTTP probe tolerance
- Dockerfile: remove duplicate Runtime comment
- .env.example: remove unused USER_UID/USER_GID (not declared as ARG in Dockerfile)
2026-06-13 14:11:04 +08:00
okxlin 0e089d3cc6 refactor: rename image from oh-my-opencode-runtime to opencode-workstation
- Rename directory: oh-my-opencode-builder/ → opencode-workstation-builder/
- Rename workflow: build-oh-my-opencode-runtime.yml → build-opencode-workstation.yml
- Update IMAGE_REPO default to opencode-workstation
- Update all path references in workflow and scripts
- Update OCI image title and description
- Preserve upstream npm package oh-my-opencode references
2026-05-08 00:21:22 +08:00
okxlin d0a4d27809 feat: add oh-my-opencode runtime image builder 2026-04-28 02:21:51 +08:00
okxlin fa3067aa18 feat: add gemini-skill-browser build pipelines 2026-04-22 14:59:06 +08:00
okxlin b04c878634 feat:更新release页面显示 2026-03-10 19:48:06 +08:00
okxlin 62430e5873 feat:使用官方GeoIP.mmdb 2026-03-10 17:36:01 +08:00