Skip to content

feat: add Alpine 3.22 DevBox runtime - #149

Open
GodBlf wants to merge 1 commit into
labring-actions:mainfrom
GodBlf:feat/add-alpine-runtime
Open

feat: add Alpine 3.22 DevBox runtime#149
GodBlf wants to merge 1 commit into
labring-actions:mainfrom
GodBlf:feat/add-alpine-runtime

Conversation

@GodBlf

@GodBlf GodBlf commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • add Alpine Linux 3.22 base and runtime images under the operating-system runtime hierarchy
  • add an APK-specific base package installer with musl compatibility packages, s6/SSH prerequisites, and common development tools
  • add localized English and Chinese project templates, including a Tsinghua APK mirror for the zh_CN image
  • allow sshd and crond to start alongside product startup scripts that remain active while serving VS Code Web
  • register Alpine smoke and runtime conformance coverage

Why

DevBox needs an Alpine operating-system template so users can choose a compact musl-based environment in addition to the existing glibc-based distributions.

The image includes gcompat, libgcc, and libstdc++ for practical compatibility while retaining Alpine's native musl runtime. SSH host keys are deliberately not generated during image construction; the existing s6 sshd service creates container-specific keys on first startup.

Validation

  • bash -n passed for all added and modified shell scripts
  • runtime build planner resolved updated tooling, Alpine base, and Alpine runtime targets
  • conformance planner produced 2 jobs for both/amd64 and 4 jobs for both/both
  • local arm64 tooling, en_US/zh_CN base images, and en_US/zh_CN runtime images built successfully
  • Alpine smoke passed for both localized runtime images
  • runtime conformance passed for both localized runtime images with CONFORMANCE_ARCH=arm64
  • devbox successfully installed file-5.46 with sudo apk add --no-cache file
  • detached /init startup, including a simulated lifetime-long product startup script, kept the container running under s6, generated SSH host keys at runtime, and started sshd with public-key authentication and TCP forwarding enabled
  • Build Runtime Images passed for en_US/zh_CN on amd64 and arm64 at CI commit 7fb4292 with tag alpine-pr149-7fb4292
  • Test Runtime Smoke passed on amd64 and arm64
  • Runtime Image Conformance passed all four localization/architecture combinations
  • a real DevBox reached PodReady=True with restart count 0; Alpine 3.22.5, writable project storage, apk, SSHGate login, sshd on port 22, and VS Code Web on port 9999 were verified

The mixed-case fork owner required temporary lowercase GHCR workflow substitutions for CI. Those substitutions were removed after validation; final commit a4745ad contains no workflow changes.

@GodBlf
GodBlf force-pushed the feat/add-alpine-runtime branch 4 times, most recently from e95f925 to 7fb4292 Compare July 16, 2026 06:53
@GodBlf
GodBlf force-pushed the feat/add-alpine-runtime branch from 7fb4292 to a4745ad Compare July 16, 2026 07:12
@GodBlf

GodBlf commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

Fork CI and product validation are complete.

All build jobs, the amd64/arm64 smoke test, and all four localization/architecture conformance jobs passed.

A real DevBox was also created with the published amd64 image. It reached PodReady=True with zero restarts; project writes, apk add, runtime-generated SSH host keys, sshd on port 22, SSHGate login as devbox, and VS Code Web on port 9999 all passed. The temporary DevBox and SSH key files were removed after validation.

The fork-only lowercase GHCR workflow substitutions used for these runs have been removed. Final commit a4745ad contains only the Alpine runtime, template, tooling, and test changes; upstream workflow behavior is unchanged.

@GodBlf
GodBlf marked this pull request as ready for review July 16, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant