ci: local TIA test runs; simplify e2e (drop sharding + e2e-gate) - #262
Merged
Conversation
- e2e job now shows as "e2e (shard 1/2)" / "e2e (shard 2/2)" in checks instead of the unlabeled matrix "(1)" / "(2)" suffix - add scheduled/manual "Update Shards" workflow that generates and commits tests/.pest/shards.json so Pest balances the two e2e shards by real execution time instead of file count
Scoped to local via locally() so CI keeps running the full suite on every commit. Add composer test:tia script using herd coverage, since Herd bundles Xdebug but doesn't load it by default.
trypost is open-source and self-hosted; not every contributor runs Herd. The script now just needs a coverage driver (Xdebug/PCOV) active however the environment provides it — Herd users can run it via "herd coverage composer test:tia".
Sharding across 2 runners added complexity (unbalanced shards without timing data, plus an Update Shards workflow that can't push straight to main under branch protection) that isn't worth it here. e2e now runs tests/Browser as a single job again; e2e-gate stays as a pass-through so the required branch protection check name is unchanged.
e2e-gate only mirrored e2e's own result once sharding was removed. Updated main's branch protection required_status_checks to require "e2e" directly instead of "e2e-gate".
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.
Summary
e2erunstests/Browseras a single job again (no matrix, no--shard). The 2-shard split added complexity — unbalanced shards without timing data, and theUpdate Shardsworkflow couldn't push straight tomainunder branch protection (required_pull_request_reviews+enforce_admins) — without a clear payoff here.e2e-gatejob — with sharding gone it only mirrorede2e's own result. Updatedmain's branch protectionrequired_status_checksto requiree2edirectly instead ofe2e-gate.pest()->tia()->locally()intests/Pest.php) for local runs only — CI keeps running the full suite on every commit, unaffected. Addedcomposer test:tia(vendor/bin/pest --parallel --tia); it needs a coverage driver (Xdebug/PCOV) active — on Herd, run it asherd coverage composer test:tia. Kept generic since this project is open-source/self-hosted and not every contributor uses Herd.Test plan
e2echeck (noe2e-gate, no(1)/(2))quality/backend/e2echecksherd coverage composer test:tiatwice and confirm the second run replays cached results