Files
vendoo/.github/workflows/ux-platform-contract.yml
T

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')); } }"