A framework is designed to run in CI/CD (Jenkins, GitHub Actions, GitLab, Azure): triggered on push/PR/schedule, executing via Maven/Gradle, selecting suites by tags/groups, running headless and in parallel, and publishing reports/artifacts.
Integration essentials: run headless in CI (no display), parameterize environment/browser via config so the same suite targets any environment, select scope by tags/groups (smoke on PR, full nightly), execute in parallel for speed, and publish reports (Allure/Extent/HTML) and screenshots as artifacts. The pipeline invokes mvn test / a suite XML, sets env variables/secrets, and fails the build on test failures (quality gate). Containerizing (Docker) or using Selenium Grid/cloud (BrowserStack) enables consistent, scalable browsers. A framework not designed for CI (hard-coded paths, non-headless, no reporting) can't deliver continuous feedback.
A GitHub Actions workflow runs smoke tests headless on every PR (blocking merge on failure) and the full suite nightly on a Selenium Grid, publishing an Allure report as an artifact — continuous feedback without manual runs.
What must a framework support to run effectively in a CI pipeline?