How do tests block a bad merge?
A test suite that runs on every pull request turns a failing test into a blocked merge.
The suite is the gate
A test that only runs on your machine is a suggestion. A test that runs on every pull request in CI (continuous integration, the server that runs your tests on every push) is a contract: if it fails, the merge is blocked.
How does a failing Playwright test block a merge in GitHub Actions? Give me a minimal workflow that runs Playwright on pull requests for a Next.js project.
Split smoke from full
Run a fast smoke suite on every pull request, the flows that must never break, and save the full suite for nightly. That keeps feedback quick while still catching regressions.
In a Next.js App Router project, what should run on every pull request versus nightly, and why is that split worth it?
A test in CI turns a failure into a blocked merge. Run smoke on every pull request, the full suite nightly.
Additional Resources
Explore these carefully curated resources to deepen your understanding and practice the concepts covered in this lesson.
Playwright CI
DocumentationConfiguration and tips for running Playwright in continuous integration environments.
https://playwright.dev/docs/ci
GitHub Actions
DocumentationThe automation platform used to run tests on every push and pull request.
https://docs.github.com/actions

