Skip to content

Make the Hack development image rebuildable and refresh available tooling - #4

Open
justdan6 wants to merge 2 commits into
mainfrom
codex/update-development-stack
Open

justdan6 wants to merge 2 commits into
mainfrom
codex/update-development-stack

Conversation

@justdan6

@justdan6 justdan6 commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

The development environment now builds from a tracked Dockerfile instead of depending on an image whose build recipe was ignored. It installs Composer 2.11.1 with checksum verification, refreshes available Ubuntu packages, locks the latest published compatible Hack libraries, initializes HTTP autoloading, and supplies the sample test's missing square_vec function. Compose builds locally, fails startup when dependencies fail, runs as a non-root user, and checks HTTP health.

HHVM's public binary distribution remains at 4.172.1, requiring Ubuntu 20.04/PHP 7.4. The README documents the newer source-only 4.172.3 tag and unsupported runtime stack rather than claiming those components are current. The latest HHAST release rejects HHVM 4.172's AST schema, so it is replaced with the native Hack linter; its JSON diagnostics are checked because hh_client exits zero even with lint errors. HHVM_DISABLE_PERSONALITY allows the typechecker to run under Docker's default seccomp profile.

Validation: clean Docker build, Composer install/validation/platform checks, 2 passing unit tests, native lint, typecheck, and the Hello World HTTP smoke test pass on native x86-64 Linux in GitHub Actions. A negative fixture also confirms lint fails on diagnostics from an otherwise successful hh_client process. Local Apple Silicon CLI checks pass, while HTTP under Docker Desktop translation fails; Apple Silicon instructions therefore require a full Colima/QEMU x86-64 VM. That full VM path has not been revalidated here.

The README includes rebuild/recreate commands, dependency updates, host tooling setup, and manual Docker Hub publishing. The registry image is not published automatically.

@justdan6
justdan6 marked this pull request as ready for review November 4, 2026 04:47
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