ShipGate gate demo
Blocked: 10 errors. Shipped: 0 errors. Every number on this page is generated from the real output of python -m shipgate audit in the pipeline that deployed it. Nothing is mocked.
- Blocked (exit code 1): 10 errors in the intentionally broken fixture
tests/fixtures/bad. - Shipped (exit code 0): 0 errors in
site/, the site you are reading.
The loop
- An issue labelled
shipgateis picked up by the dispatcher, which opens a merge request set to merge when its pipeline succeeds. - CI runs unit tests, the gates, the autonomy guard, SAST and secret detection. Nothing downstream runs while one is red.
- A red MR gets a repair commit (max 3 cycles), then a human is called.
- Green merges deploy to GitLab Pages; a scheduled monitor audits the live site and opens one issue if it regresses.
1. A broken change is blocked
## ShipGate report: FAIL errors: 10 warnings: 3 ### Errors (block release) - `a11y.lang` index.html - <html> has no lang attribute - `seo.title` index.html - missing or empty <title> - `mobile.viewport` index.html - missing meta viewport - `a11y.h1` index.html - expected exactly one <h1>, found 2 - `a11y.img-alt` index.html:6 - <img> without alt - `links.broken` index.html:7 - broken internal reference: nope.html - `links.broken` index.html:6 - broken internal reference: missing.png - `security.mixed-content` index.html:8 - insecure http resource: http://cdn.example.test/x.js - `privacy.phone_jp` index.html:9 - personal data pattern in a published file - `privacy.private_email` index.html:9 - personal data pattern in a published file ### Warnings - `seo.description` index.html - missing meta description - `a11y.heading-order` index.html:5 - heading jumps h1 -> h3 - `a11y.link-text` index.html:7 - vague link text 'click here'
2. The repaired site ships
## ShipGate report: PASS errors: 0 warnings: 0
Deployed from commit f7428738 by this pipeline.