Repository navigation
perf: use native Puppeteer in example course graders - #30
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requirements
Use @exercode/problem-utils-browser2.0.0 native Puppeteer in the HTML example while preserving its checks and the JavaScript example’s shared preset. Fresh-process Cloud Run measurements with the same Chromium build favored Puppeteer: 997.311ms versus1578.969ms median for selector/form/screenshot work, including startup/imports in a warm container.
The reusable CI workflow runs both browser model answers with read-only repository contents permission. Existing authoring runtimes are pinned in mise.toml. Dependency lifecycle scripts are disabled; the explicit browser CLI installs the required Chrome headless shell. The core utility dependency is aligned to4.2.1.
Both model answers passed all five grading cases using the public browser2.0.0 artifact. A fresh install with lifecycle scripts disabled downloaded no browser; explicit shell installation and both models passed. Final CI34683431332 succeeded, review-booster57730ed1 completed with7/7 reviewers, and PR readiness passed on1c4175b.
Temporary migration downtime is explicitly accepted. Refresh the two stored examples in each Exercode environment from this commit while preserving problem IDs and submission history.