Skip to content

Skip redundant APT browser dependencies in source CI - #318

Merged
rmcdaniel merged 7 commits into
mainfrom
fix/315-installed-browser
Nov 6, 2026
Merged

rmcdaniel merged 7 commits into
mainfrom
fix/315-installed-browser

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Documentation source CI has repeatedly spent most of a 15-minute cell in Chromium's APT dependency installer; #317 measured 11m42s there. Keep the existing lockfile-bound Playwright/bundled Chromium download and run playwright install chromium without its optional APT dependency installation. Report the actual launched browser version.

The existing Ubuntu 24.04 image supplies browser libraries. Fresh normal CI must prove launch and all unchanged layout/search/copy/navigation/missing-resource checks on current and historical sources; missing prerequisites fail without an installer fallback or host-validation override. This adds no download kind or provider and changes no required check, timeout, package pin or dependency-validation setting.

The publisher workflow is unchanged. The earlier installed-Chrome selector is withdrawn; its mode777 refusals and the brief incomplete staging commit remain historical NONPASS. The shared public-safe browser custody/interface remains CLI-owned for actual publishing. This source-CI correction neither promotes those heads nor qualifies #315's producer path.

Refs #315. Validation so far: JavaScript syntax, whitespace and public-boundary checks. Actual current-head browser and full required qualification remain pending. No artifact promotion, deployment, tag/release or second custody recipe is selected.

@rmcdaniel rmcdaniel added the agent:sdk-php Work done by the sdk-php repo agent label Nov 5, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

The first normal CI head 17d8cbf4 is NONPASS: all three docs cells refuse the fixed Chrome executable prerequisite before browser launch. There is no browser, installer or publication PASS. Bash syntax, ShellCheck and public-boundary checks passed, but they do not establish the hosted file subject.

Successor 373bca75 records architecture, the actual fixed-path file type/owner/mode and canonical path before applying the same refusal. It does not weaken the predicate or add an acquisition fallback. Fresh normal CI will provide the concrete discrepancy; the failure remains unclassified until that readback. I own its correction and current-head qualification. #317's asset-checker correction is already merged independently.

@rmcdaniel

Copy link
Copy Markdown
Member Author

The exact diagnostic historical docs job on 373bca75 independently records x86_64, regular /opt/google/chrome/chrome, owner 0:0, mode 777, and the same canonical path. The existing guard refuses before launching Chrome. This agrees with the public runner-image configure-system source, which applies chmod -R 777 /opt.

Keep this PR draft/NONPASS, with auto-merge off. The shared browser owner has already reproduced this stock state and is preparing a reusable closure; CLI owns the eventual public-safe interface. I have asked CLI/General for that returned artifact/qualification and will replace this local proposal with its narrow adoption. I will not add a second custody recipe, admit writable raw tooling or modify stock Chrome permissions in place. Existing source CI on accepted main remains distinct from this unqualified proposal and from any publishing acceptance.

The remaining action is concrete: CLI returns the reviewed public-safe browser source/interface and its qualified caller boundary; sdk-php then refreshes #318 normally, adopts it and runs all fresh required checks. Until then, this head supplies a refusal/readback only. #315's stable rendering candidate continues separately through the accepted workflow with deployment disabled.

@rmcdaniel rmcdaniel removed the status:blocked Waiting on a named dependency or decision label Nov 6, 2026
@rmcdaniel rmcdaniel changed the title Use runner Chrome for documentation source checks Skip redundant APT browser dependencies in source CI Nov 6, 2026
@sonarqubecloud

sonarqubecloud Bot commented Nov 6, 2026

Copy link
Copy Markdown

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 6, 2026 00:53
@rmcdaniel
rmcdaniel merged commit 9b8baaa into main Nov 6, 2026
42 checks passed
@rmcdaniel
rmcdaniel deleted the fix/315-installed-browser branch November 6, 2026 01:02
@rmcdaniel

Copy link
Copy Markdown
Member Author

Normal integration and actual-main acceptance are complete.

  • Actual main 9b8baaa has reviewed tree c8f6cd40c7d17217ef1d2410c79b4980cac076fd and ordered parents 9410b9246d43b4e758b41a5cee774e122c4c5ccf, 83902bddd35c96bea9b001791c155adbfabc8c1a. Local Git and the GitHub object API agree. The final delta is exactly the two source-CI/logging lines described in this PR. SDK production/example/configuration/manifest files and the publisher workflow are unchanged.
  • All 42 PR checks are terminal: 41 success / one intended connected-test skip. Direct PR Sonar readback has zero issues. Actual-main CI42140357930, Sonar and CodeQL succeeded; all 42 main checks are terminal: 40 success / two intended skips. No check, host validation or browser assertion was waived.
  • The exact PR's browser installation took 8 seconds current / 11 seconds historical3.9.4 / 10 seconds stable6a8, followed by successful missing-resource and full layout/interaction checks. The earlier measured historical dependency-install step took11m42s. This is a comparison of those observed cells, not a general throughput guarantee. Main's corresponding installations took11/11/9 seconds and passed; the current browser logged actual version 151.0.7922.34.
  • Portal42140358055 built and bound the exact main preview; deployment skipped. Pages artifact 13467942119, 1,059,134B, SHA256 a873f29b1525fa613df0766a48412bbefb09e8aee83750b8e4697e213dd9c88c, was downloaded and hash-verified. Its v2 audit binds source, SDK, presentation and workflow to the exact main above. This unreleased source preview is not a stable publication.
  • Live audit GET at 2026-11-06T01:02:18.361068+00:00 returned200/118B with original v1 source 6a821568db5c72983bd3990fe27c7990f092db12, SHA256 43c0159fc3ee9317a32e644e20d61d47d2fbf64d23194efe7b8e1f2b86514cd1. The redesign has not been deployed.
  • After exact head/remote/ancestry/tree and open-dependent-PR checks, the merged fix/315-installed-browser remote and local branches were deleted normally. Git transport is empty and the GitHub ref API returns404. The worktree is detached at accepted main and clean.

The withdrawn stock-Chrome proposal and its mode777 refusals remain historical NONPASS, not accepted browser custody or publication evidence. The final implementation uses the existing locked Playwright Chromium path and omits only its optional APT dependency-install substep in source CI. Publisher docs.yml is unchanged. #315 still needs the accepted central setup/shared-browser publisher inputs and actual caller qualification, then sdk-php's narrow adoption, fresh protected build and live acceptance. No release/tag, installed/native/auth/runtime or deployment action was selected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:sdk-php Work done by the sdk-php repo agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant