mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-17 20:32:25 +03:00
Adds a shadow release-acceptance report alongside release-green: an inventory/reduce/oracle pipeline under `scripts/quality/release-acceptance/` with a JSON schema, fixtures and a workflow that uploads the report as an artifact. Contained by design, which is why it merges as-is: it runs only on push to `release/v*` and on manual dispatch (never on pull requests), the step is `continue-on-error`, `permissions: contents: read`, `persist-credentials: false`, and it consumes no secrets. Nothing in the product changes; the report is advisory until we decide to promote it. Validated as a combined board first (this PR merged with the 11 siblings of the same batch on the release tip): eslint on every changed file with the suppressions file, typecheck:core, check:open-sse-typecheck, complexity, cognitive-complexity, changelog-integrity, i18n new-key coverage, docs-sync, migration-numbering, provider-consistency and a duplicate-identifier audit all green, plus 275 passing / 0 failing focused node:test cases across the 28 test files the batch touches. Then re-validated alone on the fresh tip before this merge: conflicts re-resolved, file sizes rebaselined for this PR's own growth, eslint and this PR's focused tests re-run. Thanks @HouMinXi!
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: Release acceptance
|
|
|
|
on:
|
|
push:
|
|
branches: ["release/v*"]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: release-acceptance-${{ github.ref }}
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
acceptance:
|
|
name: Release acceptance
|
|
if: github.event_name != 'pull_request'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-node@v5
|
|
with:
|
|
node-version: "22"
|
|
cache: npm
|
|
- run: npm ci
|
|
- name: Emit shadow acceptance report
|
|
run: |
|
|
node scripts/quality/validate-release-acceptance.mjs \
|
|
--plan tests/fixtures/release-acceptance/plan-lint.json \
|
|
--manifests tests/fixtures/release-acceptance/shadow-manifests \
|
|
--out release-acceptance-report.json
|
|
continue-on-error: true
|
|
- uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: release-acceptance-report
|
|
path: release-acceptance-report.json
|
|
if-no-files-found: ignore
|
|
retention-days: 30
|