v0.4.0 – CI/CD & Enterprise Readiness
What's New in 0.4.0
Zero config changes required in most CI environments — Selenium Boot now
detects and adapts automatically.
🔍 CI Environment Auto-Detection
- Detects GitHub Actions, Jenkins, CircleCI, GitLab CI, Travis CI, TeamCity,
and Bitbucket Pipelines via environment variables - Forces
browser.headless=trueautomatically in all CI environments - Auto-derives
threadCountfrom available CPU cores when parallel mode is
enabled and threadCount is left at default
🐳 Docker / Container Support
- Detects Docker containers via
/.dockerenvand Kubernetes via
KUBERNETES_SERVICE_HOST - Auto-applies
--no-sandbox,--disable-dev-shm-usage,--disable-gpu,
--window-size=1920,1080to Chrome in containers - Auto-applies
--width=1920 --height=1080to Firefox in containers
📄 JUnit XML Report
JUnitXmlReporterwritestarget/surefire-reports/TEST-SeleniumBoot.xml
on every run- Parsed natively by Jenkins, GitHub Actions, GitLab CI — no plugins needed
🚦 Build Quality Gates
- New
ci:config block inselenium-boot.yml:
ci:
failOnPassRateBelow: 80 # fail build if pass rate drops below 80%
maxFlakyTests: 3 # fail build if more than 3 tests were retriedBuildThresholdEnforcerevaluates gates after suite finish and throwsBuildQualityGateExceptionto fail the Maven build- Both thresholds are disabled by default
📋 CI Templates
.github/workflows/selenium-boot.yml— GitHub Actions workflow with Chrome setup, artifact upload (HTML report, JUnit XML, metrics JSON), and test result publishing via dorny/test-reporterci/Jenkinsfile— Jenkins declarative pipeline with JUnit result parsing and artifact archiving
🧪 Unit Tests
CiEnvironmentDetectorTest— thread count capping, CPU core derivation, null safetyBuildThresholdEnforcerTest— 13 cases covering pass rate gate, flaky test gate, disabled thresholds, exception message qualityJUnitXmlReporterTest— file creation, XML structure, test counts, passed/failed/skipped elements, XML escaping, overwrite on second call
Dependency
<dependency>
<groupId>io.github.seleniumboot</groupId>
<artifactId>selenium-boot</artifactId>
<version>0.4.0</version>
</dependency>