ERGS is an enterprise-style Release Governance Platform built using GitHub Actions.
It automates:
- Automated Testing + Allure Reports
- DevSecOps Security Scans (Gitleaks, Semgrep, Trivy)
- SBOM Generation (Syft) + SBOM Vulnerability Scan (Grype)
- Kubernetes Platform Quality Engineering (KPQE)
- Single Consolidated Release Dashboard
- Automated Final Release Decision Engine (GO / HOLD / NO-GO)
- GitHub Pages Deployment for all reports
All pipeline outputs are deployed automatically to GitHub Pages.
🎥 Demo Video: https://youtu.be/rC9K4sqsgE0
ERGS.mp4
| Report Type | Live Link |
|---|---|
| Release Dashboard | Open Dashboard |
| Allure Test Report | Open Allure Report |
| Security Reports | Open Security Reports |
| SBOM Reports | Open SBOM Reports |
| KPQE Platform Reports | Open KPQE Reports |
| Final Decision Output | Open Final Decision |
| Final Decision JSON | final-decision.json |
Example successful run:
- Repo:
Debasish-87/enterprise-release-governance-system - Commit:
d6c797c89d6a6964b27e1f01dc2ae2f67762ac59 - GitHub Actions Run:
Open Run #21768128714
Modern releases require more than only “tests passed”.
ERGS enforces governance using multi-layer validation and generates a final decision:
- GO → safe to release
- HOLD → manual review required
- NO-GO → release blocked
Runs automated UI/API test suite and generates Allure reports.
Outputs
- Allure HTML report
- Test execution summary
- Testing intelligence summary (risk scoring)
Runs enterprise security scans:
- Gitleaks → Secrets detection
- Semgrep → SAST scanning
- Trivy FS → Repository vulnerability scanning
Outputs
semgrep-report.jsontrivy-fs-report.jsongitleaks-report.json(optional)
Generates SBOM and scans dependencies.
- Syft → generates SBOM (CycloneDX JSON)
- Grype → scans SBOM for vulnerabilities
Outputs
sbom-cyclonedx.jsongrype-sbom-report.json
Runs Kubernetes platform readiness + quality validation:
- Node readiness checks
- Pod crashloop detection
- Restart risk checks
- Cluster health validation
Outputs
kpqe-release-decision.txt- Cluster readiness reports (
nodes.json,pods.json)
A Python dashboard generator merges all signals into:
- One HTML dashboard
- One JSON summary
Outputs
index.htmlrelease-summary.json
Reads Layer 5 summary and generates:
final-decision.json
Then deploys all reports into GitHub Pages:
/allure//security//sbom//kpqe//dashboard//decision/
ERGS generates the final decision using combined governance rules.
- Layer 1 tests passed
- No High/Critical vulnerabilities in Trivy or Grype
- KPQE decision = RELEASE ALLOWED
- Tests passed but security issues exist
Example: Semgrep ERROR findings > 0
- Tests failed
- Trivy High/Critical vulnerabilities found
- Grype High/Critical vulnerabilities found
- KPQE decision = RELEASE BLOCKED
Final decision JSON is published here:
- Allure HTML report
- Test execution summary
- Semgrep report (JSON)
- Trivy FS report (JSON)
- Gitleaks report (JSON)
- CycloneDX SBOM JSON
- Grype SBOM vulnerability report JSON
- Node readiness
- Crashloop detection
- Restart risk checks
- KPQE release decision
- Release dashboard HTML
- Release summary JSON
- Final decision JSON
enterprise-release-governance-system/
│
├── .github/
│ └── workflows/
│ └── ci-release-governance.yml
│
├── application-testing/
│ ├── pom.xml
│ ├── regression.xml
│ ├── smoke.xml
│ ├── testng.xml
│ ├── src/
│ │ ├── main/java/
│ │ │ ├── base/
│ │ │ ├── intelligence/
│ │ │ ├── listeners/
│ │ │ ├── pages/
│ │ │ └── utils/
│ │ └── test/java/
│ │ └── tests/ui/
│ └── target/
│ ├── allure-results/
│ └── surefire-reports/
│
├── security-testing/
│ ├── run-gitleaks.sh
│ ├── run-semgrep.sh
│ ├── run-trivy.sh
│ └── reports/
│
├── sbom-testing/
│ ├── generate-sbom.sh
│ └── scan-sbom.sh
│
├── kpqe-platform-testing/
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── quality_policy.md
│ ├── k8s/
│ ├── platform-tests/
│ └── quality_gates/
│
├── release-dashboard/
│ ├── generate-dashboard.py
│ └── requirements.txt
│
├── release-decision/
│ ├── final-decision.py
│ ├── requirements.txt
│ └── output/
│
└── .gitattributescd application-testing
mvn clean testcd security-testing
bash run-semgrep.sh
bash run-trivy.shcd sbom-testing
bash generate-sbom.sh
bash scan-sbom.shcd kpqe-platform-testing
pip install -r requirements.txt
pytest -qMain workflow file:
.github/workflows/ci-release-governance.yml
This workflow produces:
- GitHub Actions artifacts
- GitHub Pages multi-report portal
- Automated final release decision
Built an enterprise-grade Release Governance Platform that generates Allure reports, performs DevSecOps security scanning, creates SBOMs, scans SBOM vulnerabilities, validates Kubernetes readiness using KPQE, and enforces automated GO / HOLD / NO-GO release decisions using a consolidated dashboard deployed to GitHub Pages.
Debasish-87 GitHub: https://github.com/Debasish-87