44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: Vendoo UX Platform Contract
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop, 'feature/**', 'release/**', 'hotfix/**']
|
|
pull_request:
|
|
branches: [main, develop]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: vendoo-ux-platform-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
ux-platform-contract:
|
|
name: UX Platform (${{ matrix.os }})
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- name: Exakten Commit ohne Marketplace-Action auschecken
|
|
run: |
|
|
git init .
|
|
git remote add origin "${{ github.server_url }}/${{ github.repository }}.git"
|
|
git fetch --depth=1 origin "${{ github.sha }}"
|
|
git checkout --detach FETCH_HEAD
|
|
|
|
- name: Runner-Node und Plattform dokumentieren
|
|
run: |
|
|
node -e "const report=['Platform: '+process.platform,'Node: '+process.version,'Architecture: '+process.arch,'Commit: '+process.env.GITHUB_SHA,''].join('\\n'); process.stdout.write(report);"
|
|
|
|
- name: Navigation API und Safe Actions prüfen
|
|
run: node tools/run-ux-platform-gates.mjs
|
|
|
|
- name: Diagnose immer ausgeben
|
|
if: always()
|
|
run: node -e "const fs=require('fs'); for (const file of ['artifacts/ux-platform-preflight.log','artifacts/ux-platform-gates.log']) { if (fs.existsSync(file)) { console.log('--- '+file+' ---'); process.stdout.write(fs.readFileSync(file,'utf8')); } }"
|