Skip to content

Super devcontainer - #26

Merged
gatezh merged 26 commits into
masterfrom
super-devcontainer
Mar 4, 2026
Merged

gatezh merged 26 commits into
masterfrom
super-devcontainer

Conversation

@gatezh

@gatezh gatezh commented Mar 4, 2026

Copy link
Copy Markdown
Owner

No description provided.

gatezh and others added 26 commits February 24, 2026 19:24
…port

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ble in env)

Docker is not available in this workspace environment. Static analysis of
Dockerfile confirms all required changes are present:
- chromium and jq in apk add line
- PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH env var set to /usr/bin/chromium-browser
- All existing tools (bun, hugo) infrastructure unchanged
- OCI labels and FROM statement intact

Full runtime verification will occur via GitHub Actions on push to master.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Static analysis confirms all criteria met: chromium and jq in apk add,
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH env var set, existing tools preserved,
Dockerfile conventions followed, README documents new capabilities.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix README: replace false 'no extra configuration needed' claim with
  accurate playwright.config.ts instructions using executablePath and
  --no-sandbox args (PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH is not a
  native Playwright env var; users must reference it explicitly)
- Fix README: correct base image version from 'latest' to '0.11.0'
  to match Dockerfile ARG RALPHEX_VERSION
- Fix Dockerfile OCI label: add Chromium to image description
- Fix CI: add chromium-browser, jq, and PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH
  verification steps for both amd64 and arm64 in build-ralphex-fe.yml
  and update-and-build-ralphex-fe.yml
- Fix root README: update stale version numbers (1.3.8/0.155.2 to
  1.3.9/0.155.3) and add Playwright/jq mention for ralphex-fe

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Clarify PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH Dockerfile comment to
  explicitly note this is a custom variable not natively read by
  Playwright; users must wire it via executablePath in their config
- Add arm64 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH env var verification
  to both CI workflows (was only checked for amd64, now symmetric)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix README tag format: ralphex version was missing from version-specific
  tag examples (bun1.3.9-hugo0.155.3-ralphex -> bun1.3.9-hugo0.155.3-ralphex0.11.0)
- Remove implementation plan document (docs/plans/2026-02-24-ralphex-fe-playwright-support.md)
  as it is a development artifact, not project documentation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 to Dockerfile to prevent
  Playwright's postinstall from downloading glibc-based Chromium binary
  (incompatible with Alpine/musl)
- Add ttf-freefont package for Chromium text rendering in headless/
  screenshot mode (Alpine chromium package does not include font files)
- Strengthen CI env var verification to also check the path is executable
  (test -x) not just that the string value matches

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 CI verification (amd64 + arm64)
  in both workflows: this env var prevents Playwright postinstall from
  downloading glibc-based Chromium (incompatible with Alpine/musl)
- Add ttf-freefont CI verification (amd64 + arm64) in both workflows:
  checks FreeSans.ttf exists to confirm fonts required for Chromium text
  rendering in headless/screenshot mode are installed
- Fix sed delimiter in update-and-build-ralphex-fe.yml: use | instead of /
  to prevent breakage if version strings contain forward slashes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…plementation started)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rsion

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… ralphex version

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reviewed Dockerfile, workflow YAMLs, and README for consistency.
All files pass validation: no trailing whitespace, correct tag format,
proper YAML syntax, and Playwright verification steps present.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nfirmed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove dead BUN_VERSION/HUGO_VERSION variables from tag generation steps
- Add missing empty-check validation for version extraction in update workflow build job
- Add --no-sandbox to chromium-browser --version CI checks (required when running as root in Docker)
- Split misleading combined PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH check into two separate checks with clear diagnostics
- Combine two ENV instructions into one in Dockerfile (reduces image layers)
- Move completed plan to docs/plans/completed/
- Update AGENTS.md: standalone image tag convention, sed delimiter safety pattern, Alpine Playwright support pattern

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add --no-sandbox flag to chromium-browser verification command in README.
Without this flag, Chromium fails when run as root inside a container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove docs/plans implementation artifact from repository (not end-user documentation)
- Remove jq from Dockerfile, README, and workflow verification (scope creep; not part of Playwright support requirements)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merge master into super-devcontainer, combining version validation
guards with grouped GITHUB_OUTPUT syntax.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Chromium is an implementation detail for headless test execution
via ralphex, not a user-facing feature requiring documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The ralphex binary is installed at /srv/ralphex in the base image,
not on $PATH, causing CI verification to fail with exit code 127.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gatezh
gatezh merged commit a2e64e6 into master Mar 4, 2026
8 checks passed
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